Dirk Herrmann
7fa93bf859
Use SCM_EQ_P to compare scheme objects, use SCM_CELL_WORD_1 for raw data.
2000-03-31 13:34:30 +00:00
Dirk Herrmann
74a16888eb
Change type of member 'stream' in scm_port from SCM to scm_bits_t.
2000-03-31 07:56:40 +00:00
Mikael Djurfeldt
6a87835719
*** empty log message ***
2000-03-30 23:32:56 +00:00
Mikael Djurfeldt
5c90be5282
* coop-defs.h (struct coop_t): Added `sto'-field again because of
...
binary compatibility---let's remove it next time we alter some
major structure.
2000-03-30 23:32:45 +00:00
Mikael Djurfeldt
b6cc0ef66d
*** empty log message ***
2000-03-30 23:23:28 +00:00
Mikael Djurfeldt
6219b5eb41
* coop.c (coop_quitting_p, coop_cond_create, coop_mutex_create,
...
coop_mother, coop_child): New variables.
(mother): New function.
(coop_create): New thread spawning mechanism which uses a "mother
thread". The "dummy" pthreads aren't healthy enough to give birth
to new threads since Linux threads thinks they are asleep.
2000-03-30 23:23:10 +00:00
Mikael Djurfeldt
2f511ab1aa
* coop-defs.h (struct coop_t): Removed dummy_mutex.
...
* coop-defs.h, coop-threads.c (struct coop_t): Eliminate
`sto'-field when GUILE_PTHREAD_COMPAT is enabled.
2000-03-30 23:22:50 +00:00
Mikael Djurfeldt
21aab5c929
* coop-defs.h, coop-threads.c (struct coop_t): Eliminate
...
`sto'-field when GUILE_PTHREAD_COMPAT is enabled.
2000-03-30 23:18:39 +00:00
Dirk Herrmann
843524cc20
Fix some typing issues wrt SCM/scm_bits_t.
2000-03-30 09:15:15 +00:00
Dirk Herrmann
fbd485ba49
Don't use C operators == and != to compare SCM values.
2000-03-29 16:22:57 +00:00
Mikael Djurfeldt
91163914cf
*** empty log message ***
2000-03-29 11:02:44 +00:00
Mikael Djurfeldt
0208baa0d9
*** empty log message ***
2000-03-29 10:52:26 +00:00
Mikael Djurfeldt
7a8e7a6ce2
* coop-threads.c (scm_call_with_new_thread, scm_spawn_thread,
...
scm_make_mutex, scm_make_condition_variable): Cast data to
scm_bits_t in SCM_SET_CELL_WORD and SCM_NEWSMOB macros.
2000-03-29 10:52:07 +00:00
Mikael Djurfeldt
64e3bf6c38
*** empty log message ***
2000-03-29 10:44:28 +00:00
Mikael Djurfeldt
e4d2166f80
* configure.in: Enable workaround for COOP-linuxthreads
...
compatibility on Linux systems.
2000-03-29 10:44:13 +00:00
Mikael Djurfeldt
ac1aca3515
* coop.c (coop_create): Set specific' field, not
data' to NULL.
2000-03-29 10:43:18 +00:00
Dirk Herrmann
941132492e
Access smob data with SCM_{SET_}?CELL_TYPE or SCM_{SET_}?WORD_[1-3].
2000-03-29 09:17:25 +00:00
Mikael Djurfeldt
1978b33ef8
*** empty log message ***
2000-03-29 01:58:30 +00:00
Mikael Djurfeldt
31bc6de36a
* threads.c (scm_init_threads): Pass 0 size to scm_make_smob_type
...
for scm_tc16_thread. As the current COOP threads are written, GC
is not supposed to manage storage for threads.
2000-03-29 01:58:17 +00:00
Mikael Djurfeldt
ef18914a94
* error.c (scm_error): Don't try to throw an error if
...
scm_gc_heap_lock is true.
2000-03-29 01:57:54 +00:00
Mikael Djurfeldt
f85a9bcf5f
* coop.c (coop_finish): New function. Called at exit.
...
(coop_aborthelp): Free thread structures when threads die.
Finished LinuxThreads compatibility support => COOP threads now
mesh with LinuxThreads.
2000-03-29 01:57:40 +00:00
Mikael Djurfeldt
0e551780ec
* coop-threads.c (scm_call_with_new_thread, scm_spawn_thread):
...
Changed SETCDR --> SET_CELL_WORD_1.
* coop-threads.c (scheme_launch_thread): Set word 1 of handle to 0
when thread dies.
2000-03-29 01:57:25 +00:00
Mikael Djurfeldt
ad1a269029
Removed definition of GUILE_PTHREAD_COMPAT inside commentary
2000-03-29 01:57:12 +00:00
Mikael Djurfeldt
ed65453e53
* configure.in: Enable workaround for COOP-linuxthreads
...
compatibility on Linux systems (currently disabled).
2000-03-29 01:54:12 +00:00
Mikael Djurfeldt
25f457c0e2
* acconfig.h (GUILE_PTHREAD_COMPAT): New config variable.
2000-03-29 01:52:19 +00:00
Dirk Herrmann
dd039d6dc6
* New macro SCM_TRUE_P.
...
* Use SCM_EQ_P to compare SCM values.
2000-03-29 01:15:56 +00:00
Dirk Herrmann
8b3bda2058
Cleaned up continuation data access.
2000-03-28 17:13:40 +00:00
Dirk Herrmann
3210f49a6f
Use SCM_{SET_}?CELL_WORD_[01] to access length and char * fields
...
of strings and symbols.
2000-03-28 10:16:16 +00:00
Dirk Herrmann
2d67e39007
Use SCM_{SET_}?CELL_TYPE when accessing the type entry of a cell.
2000-03-27 22:43:37 +00:00
Dirk Herrmann
76a369d95d
* SCM_C[AD]R and SCM_SETC[AD]R use SCM_{SET_}?OBJECT now.
...
* Moved SCM_GCCDR from pairs.h to tags.h.
2000-03-27 12:42:16 +00:00
Dirk Herrmann
2549a7096d
Moved some cell related definitions from tags.h and pairs.h to gc.h.
2000-03-26 10:08:52 +00:00
Dirk Herrmann
8d3356e761
* Allow to activate strict compile time type checking by defining
...
the macro SCM_STRICT_TYPING.
* Defined SCM_EQ_P as a macro equivalent for eq?.
2000-03-25 08:26:38 +00:00
Dirk Herrmann
96f6f4aebf
Removed use of SCM_POINTERS_MUNGED.
2000-03-25 07:56:53 +00:00
Dirk Herrmann
0cbaaf0b15
Added a set of low level macros for accessing cell entries.
2000-03-24 08:55:14 +00:00
Dirk Herrmann
d87d36506d
Added a first attempt for a description of the low level API.
2000-03-24 00:16:26 +00:00
Jim Blandy
33cd325ffb
*** empty log message ***
2000-03-23 23:47:04 +00:00
Mikael Djurfeldt
2f9055eac4
*** empty log message ***
2000-03-23 13:06:50 +00:00
Mikael Djurfeldt
d3952a0527
* continuations.c (scm_make_cont): Removed cast of size_t into
...
long.
2000-03-23 13:06:36 +00:00
Mikael Djurfeldt
7284d58470
*** empty log message ***
2000-03-23 13:04:50 +00:00
Mikael Djurfeldt
b191741530
* tags.h: Disabled definition of SCM_VOIDP_TEST.
2000-03-23 13:04:42 +00:00
Mikael Djurfeldt
61abe7cf63
* symbols.h (SCM_SETCHARS): Cast second arg into SCM.
2000-03-23 13:04:35 +00:00
Mikael Djurfeldt
c67baafdd1
* gc.c (scm_mark_locations): Changed * (SCM **) X --> * (SCM *) X
...
in order to obtain a value of type SCM.
(scm_cellp): Updated with new changes to scm_mark_locations.
2000-03-23 13:04:27 +00:00
Mikael Djurfeldt
50c65018d3
* continuations.h (SCM_SETJMPBUF): Cast second arg into SCM.
2000-03-23 13:04:19 +00:00
Jim Blandy
b159fc3cc4
More tweaks.
2000-03-22 21:24:31 +00:00
Jim Blandy
70b83fe223
Add some test suite philosophy.
2000-03-22 21:22:39 +00:00
Jim Blandy
05c4ba0055
* lib.scm: Doc fixes.
2000-03-22 21:18:57 +00:00
Dirk Herrmann
f81e080b24
Fixed some bugs that are due to the fact that SCM is a void* now.
...
Cleaned up a macro definition. Thanks to Dale P. Smith for both of
these patches.
2000-03-22 20:48:18 +00:00
Dirk Herrmann
1ff2fa6e1a
Don't use SCM2PTR for non scheme values.
2000-03-22 10:27:36 +00:00
Mikael Djurfeldt
6f29dc6d2f
*** empty log message ***
2000-03-22 02:12:58 +00:00
Mikael Djurfeldt
8f9da2f9e9
* tags.h (SCM_ECONSP, SCM_NECONSP): More corrections of
...
pointer-arithmetic induced by the SCM_PACK/UNPACK change.
2000-03-22 02:12:47 +00:00