1
Some of the thread support code (threads.c, coop.c, etc.) used to live
2
in a separate directory called threads. In April 1997, that dir was
3
merged with libguile; this is the ChangeLog from the old directory.
5
Please put new entries in the ordinary ChangeLog.
7
Mon Feb 24 21:48:12 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
9
* configure.in: Added AM_MAINTAINER_MODE
11
Fri Feb 21 23:52:16 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
13
* Makefile.am (modincludedir, modinclude_HEADERS): Added until
14
libthreads is integrated into libguile, otherwise people who try
15
to use Guile from an independent application will have trouble
16
finding libguile/../threads/threads.h.
18
Sat Jan 11 18:35:39 1997 Marius Vollmer <mvo@zagadka.ping.de>
20
* Makefile.am (noinst_HEADERS): Added coop-defs.h so that it gets
23
Tue Jan 7 14:05:35 1997 Mikael Djurfeldt <mdj@kenneth>
25
* coop-defs.h: Added includes which define `time_t'.
27
Sun Jan 5 15:07:07 1997 Jim Blandy <jimb@floss.cyclic.com>
29
* Makefile.am (EXTRA_DIST): Add .cvsignore.
31
* Makefile.am (libthreads_a_SOURCES): Add threads.h. I think this
33
(noinst_HEADERS): Remove it from here.
34
* Makefile.in: Rebuilt.
36
Thu Jan 2 15:15:16 1997 Mikael Djurfeldt <mdj@kenneth>
38
These changes separates threads declarations which everybody wants
39
to see (coop-defs.h) from declarations internal to the threads
40
module (coop-threads.h), thereby solving the "-I ../qt" problem.
41
(This is not the final solution. All files in the threads
42
directory should be moved into libguile since 1. it is too tightly
43
interconnected with libguile internals to be a separate module and
44
2. it is actually quite small. When doing this, things can be
45
organized in a more natural way.)
47
* coop-defs.h: New file.
49
* coop-threads.c: Added #include "coop-threads.h"
51
* coop-threads.h: Moved coop_t struct and threads macros to
52
coop-defs.h. Added #include "coop-defs.h".
54
* threads.h: Changed #include "coop-threads.h" --> #include
57
Mon Dec 9 17:20:39 1996 Tom Tromey <tromey@cygnus.com>
59
* Makefile.am (.c.x): Use guile-snarf.
60
(INCLUDES): Search for headers in libguile source and build
63
Mon Dec 2 20:37:07 1996 Tom Tromey <tromey@cygnus.com>
65
* PLUGIN/greet: Removed.
66
* Makefile.am, aclocal.m4: New files.
67
* configure.in: Updated for Automake.
69
Sun Nov 10 18:21:00 1996 Jim Blandy <jimb@totoro.cyclic.com>
71
* Makefile.in (uninstall_threads): rmdir -f isn't portable;
74
Sun Nov 10 17:41:21 1996 Jim Blandy <jimb@floss.cyclic.com>
76
* Makefile.in, configure.in: When threads are disabled,
77
short-circuit the `install' and `uninstall' Makefile targets too.
79
Sat Nov 2 21:29:33 1996 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
81
* threads.c: Added #include "dynwind.h".
82
Added scheme level procedure `single-active-thread?'.
84
* mit-pthreads.c, mit-pthreads.h: Port completed but untested.
86
* coop-threads.h: Increased SCM_THREAD_SWITCH_COUNT from 10 to 50
87
to decrease overhead at the cost of granularity.
89
* coop.c, coop-threads.h: Made coop_global_runq and
90
coop_global_sleepq visible globally.
92
* coop-threads.c (scm_single_thread_p): New function.
94
Thu Oct 24 22:37:03 1996 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
96
* threads.c: #include "dynwind.h"
98
* coop-threads.c (scm_threads_mark_stacks): Removed unused
101
* coop.c (coop_qput, coop_all_qput, coop_all_qremove): Removed
104
Wed Oct 9 19:46:00 1996 Jim Blandy <jimb@floss.cyclic.com>
106
* Makefile.in: Doc fixes.
108
* Makefile.in (ancillary): Corrected spelling from `ancillery'.
110
* Makefile.in (source, h_files, ancillary): Updated to describe
111
the actual contents of the tree.
112
(PLUGIN_distfiles): New variable.
113
(dist-dir): New target, to create a sub-tree of a distribution.
115
* Makefile.in (all): Depend on @target_all@ instead of
116
libthreads.a, so the configure script can make this makefile do
117
nothing when threads aren't in use.
118
* configure.in: If we using cooperative threads, then let
119
@target_all@ expand to libthreads.a; otherwise, let it expand to
122
Sat Oct 5 18:40:09 1996 Mikael Djurfeldt <mdj@kenneth>
124
* threads.c, threads.h (scm_init_threads, scm_threads_init): Added
125
stack base pointer argument so that main thread can be initialized
128
* configure.in: Added lines to set default -g flag in CFLAGS and
131
* coop-threads.c: Added argument checking to scheme level
132
procedures. Change the way threads are launched.
134
* threads.h: Added #include "procs.h"
135
Added macros SCM_THREADP, SCM_MUTEXP and SCM_CONDVARP.
137
Wed Oct 2 14:36:44 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
139
* coop-threads.c (scm_threads_free_thread, scm_threads_free_mutex,
140
scm_threads_free_condvar): free --> scm_must_free
142
* coop-threads.h: Added macros SCM_THREAD_LOCAL_DATA and
143
SCM_SET_THREAD_LOCAL_DATA.
145
Tue Oct 1 00:05:54 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
147
* coop-threads.c (scm_threads_mark_stacks): scm_save_regs_gc_mark
148
is already in root state (should it really?). Don't allocate it
149
locally; Remove extra argument to scm_mark_locations.
151
* coop-threads.h: Changed #include <qt.h> --> #include "../qt/qt.h"
152
(SCM_THREAD_INITIALIZE_STORAGE, SCM_DEFER_INTS, SCM_ALLOW_INTS,
153
SCM_REDEFER_INTS, SCM_REALLOW_INTS, scm_coop_create_info_type):
154
Removed; Declaration of scm_coop_create_info removed. Added
155
definition of SCM_THREADS_SWITCHING_CODE.
157
* coop-threads.c: Removed gscm_type objects. Renamed all
158
gscm_threads_<type>_die --> scm_threads_free_<type> and let them
159
return freed size as smob freeing code normally does. Removed
160
thread creation mutex and thread creation info structure.
161
(gscm_threads_thread_equal, gscm_pthread_delete_info,
162
scm_threads_init): Removed.
163
(scm_threads_init_coop_threads): Removed allocation of thread
164
local data. Removed initialization of thread creation mutex.
165
Renamed scm_threads_init_coop_threads --> scm_threads_init.
166
(scm_threads_mark_stacks): Mark root object instead of local
168
(launch_thread): thunk and handler is passed as a scheme list.
169
Call scm_with_new_root instead of scm_with_dynamic_root. Let
170
scm_with_new_root care about thread local variables. Removed
171
unlocking of creation mutex.
172
(scm_call_with_new_thread): Remove initialization of create info
173
structure and locking of creation mutex. Do smob allocation.
174
(scm_join_thread): Extract thread data in a new way.
175
(scm_make_mutex): Do smob allocation.
176
(scm_lock_mutex, scm_unlock_mutex): Extract thread data in a new
178
(scm_make_condition_variable): Do smob allocation.
179
(scm_wait_condition_variable, scm_signal_condition_variable):
180
Extract thread data in a new way.
182
* threads.c: Don't use files "no-threads.[hc]". Removed old code
183
for creation of thread, mutex and condition-variable objects.
184
Added smobs instead. Use scm_threads_free_<type> for freeing.
185
(scm_init_threads): Moved scm_add_feature ("threads") to
188
* threads.h: Added declaration of scm_init_threads. Added macro
189
selectors SCM_THREAD_DATA, SCM_MUTEX_DATA and SCM_CONDVAR_DATA.
191
* coop-threads.c, coop-threads.h, coop.c, fsu-pthreads.h,
192
mit-pthreads.c, mit-pthreads.h, threads.c, threads.h: Replaced
193
"gscm" --> "scm" everywhere. Lots of name changes to concord with
196
Thu Apr 4 10:19:56 1996 Tom Tromey <tromey@creche.cygnus.com>
199
* Makefile.in (XCFLAGS): New macro.
202
* configure.in: Use DEFS, not X_CFLAGS.
204
Fri Mar 29 17:08:14 1996 Anthony Green <green@snuffle.cygnus.com>
206
* no-threads.c (gscm_threads_init_all): This function is now
209
Fri Mar 29 16:52:27 1996 Tom Tromey <tromey@creche.cygnus.com>
211
* configure.in (CFLAGS): Use "test !=", not "! test".
213
Fri Mar 29 11:51:18 1996 Anthony Green <green@snuffle.cygnus.com>
215
* Makefile.in (install): make install now works properly.
217
Thu Mar 28 07:52:11 1996 Anthony Green <green@csk3.cygnus.com>
219
* mit-pthreads.c: dynwinds set to BOOL_T for new threads.
220
Added dummy yield function.
222
Tue Mar 26 15:17:42 1996 Anthony Green (green@gerbil.cygnus.com)
224
* coop.c: Added new sleep() function. Behaves properly
225
among multiple cooperative threads. Replaces system call.
227
Mon Mar 25 11:05:41 1996 Anthony Green (green@gerbil.cygnus.com)
229
* coop.c (COOP_STKSIZE): Boosted default stack size.
231
* coop-threads.c: Moved declaration of scm_coop_create_info
232
to avoid multiple definitions at link time.
234
Sun Mar 24 23:04:29 1996 Anthony Green (green@gerbil.cygnus.com)
237
* configure.in: Upgraded thread library/include support.
239
Tue Mar 19 12:44:26 1996 Anthony Green (green@gerbil.cygnus.com)
241
* coop.c, coop-threads.h coop-threads.c: Major cleanup of
242
cooperative threading code.
244
Tue Feb 13 15:45:39 1996 Anthony Green <green@hoser.cygnus.com>
246
* mit-pthreads.h: Defined pthread aware SCM_DEFER_INTS and friends.
248
Mon Feb 12 19:59:55 1996 Anthony Green <green@hoser.cygnus.com>
250
* threads.c, no-threads.c, mit-pthreads.c, threads.scm: Creation.