Branch: Tag:

2000-07-28

2000-07-28 17:16:56 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>

JUMBOPATCH: dynamic loading now works on Win* !!!! (somewhat experimental :)

Rev: src/.cvsignore:1.24
Rev: src/Makefile.in:1.198
Rev: src/aclocal.m4:1.17
Rev: src/array.c:1.79
Rev: src/array.h:1.22
Rev: src/backend.c:1.53
Rev: src/backend.h:1.9
Rev: src/bignum.c:1.17
Rev: src/bignum.h:1.14
Rev: src/builtin_functions.c:1.293
Rev: src/builtin_functions.h:1.14
Rev: src/callback.c:1.20
Rev: src/configure.in:1.387
Rev: src/constants.c:1.22
Rev: src/dynamic_buffer.c:1.10
Rev: src/dynamic_load.c:1.41
Rev: src/error.c:1.56
Rev: src/error.h:1.46
Rev: src/fd_control.c:1.32
Rev: src/fdlib.c:1.37
Rev: src/fdlib.h:1.34
Rev: src/fsort.c:1.13
Rev: src/fsort_template.h:1.7
Rev: src/gc.c:1.110
Rev: src/gc.h:1.57
Rev: src/global.h:1.44
Rev: src/interpret.c:1.158
Rev: src/interpret.h:1.52
Rev: src/main.c:1.94
Rev: src/mapping.c:1.94
Rev: src/mapping.h:1.28
Rev: src/module_magic.h:1.1
Rev: src/module_support.c:1.34
Rev: src/module_support.h:1.7
Rev: src/multiset.c:1.26
Rev: src/object.c:1.137
Rev: src/object.h:1.50
Rev: src/opcodes.c:1.78
Rev: src/operators.c:1.93
Rev: src/operators.h:1.8
Rev: src/pike_macros.h:1.17
Rev: src/pike_memory.c:1.71
Rev: src/pike_memory.h:1.14
Rev: src/pike_types.c:1.132
Rev: src/port.c:1.28
Rev: src/precompile.sh.in:1.2
Rev: src/program.c:1.252
Rev: src/program.h:1.97
Rev: src/signal_handler.c:1.173
Rev: src/stralloc.c:1.85
Rev: src/stralloc.h:1.42
Rev: src/stuff.c:1.11
Rev: src/svalue.c:1.85
Rev: src/svalue.h:1.62
Rev: src/testsuite.in:1.316
Rev: src/threads.c:1.133
Rev: src/threads.h:1.99

1:   /* -  * $Id: threads.h,v 1.98 2000/07/12 05:57:39 neotron Exp $ +  * $Id: threads.h,v 1.99 2000/07/28 17:16:56 hubbe Exp $    */   #ifndef THREADS_H   #define THREADS_H
396:   #endif /* VERBOSE_THREADS_DEBUG */      #ifdef THREAD_TRACE - #define SWAP_OUT_TRACE(_tmp) do { extern int t_flag; (_tmp)->status.t_flag = t_flag; } while(0) - #define SWAP_IN_TRACE(_tmp) do { extern int t_flag; t_flag = (_tmp)->status.t_flag; } while(0) + extern int t_flag; + #define SWAP_OUT_TRACE(_tmp) do { (_tmp)->status.t_flag = t_flag; } while(0) + #define SWAP_IN_TRACE(_tmp) do { t_flag = (_tmp)->status.t_flag; } while(0)   #else /* !THREAD_TRACE */   #define SWAP_OUT_TRACE(_tmp)   #define SWAP_IN_TRACE(_tmp)
459:      #define THREADSTATE2OBJ(X) ((X)->state.thread_id)    + extern int Pike_in_gc;   #define THREADS_ALLOW() do { \    struct thread_state *_tmp=OBJ2THREAD(Pike_interpreter.thread_id); \    DO_IF_DEBUG({ \ -  extern int Pike_in_gc; \ +     if(thread_for_id(th_self()) != Pike_interpreter.thread_id) \    fatal("thread_for_id() (or Pike_interpreter.thread_id) failed!" \    " %p != %p\n", \
500:   #define THREADS_ALLOW_UID() do { \    struct thread_state *_tmp_uid=OBJ2THREAD(Pike_interpreter.thread_id); \    DO_IF_DEBUG({ \ -  extern int Pike_in_gc; \ +     if(thread_for_id(th_self()) != Pike_interpreter.thread_id) \    fatal("thread_for_id() (or Pike_interpreter.thread_id) failed! %p != %p\n",thread_for_id(th_self()),Pike_interpreter.thread_id); \    if (Pike_in_gc > 50 && Pike_in_gc < 300) \