32-way branching in intmap.scm, not 16-way
[bpt/guile.git] / libguile / ChangeLog-threads
CommitLineData
7bfd3b9e
JB
1Some of the thread support code (threads.c, coop.c, etc.) used to live
2in a separate directory called threads. In April 1997, that dir was
3merged with libguile; this is the ChangeLog from the old directory.
4
5Please put new entries in the ordinary ChangeLog.
6
7Mon Feb 24 21:48:12 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
8
9 * configure.in: Added AM_MAINTAINER_MODE
10
11Fri Feb 21 23:52:16 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
12
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.
17
18Sat Jan 11 18:35:39 1997 Marius Vollmer <mvo@zagadka.ping.de>
19
20 * Makefile.am (noinst_HEADERS): Added coop-defs.h so that it gets
21 distributed.
22
23Tue Jan 7 14:05:35 1997 Mikael Djurfeldt <mdj@kenneth>
24
25 * coop-defs.h: Added includes which define `time_t'.
26
27Sun Jan 5 15:07:07 1997 Jim Blandy <jimb@floss.cyclic.com>
28
29 * Makefile.am (EXTRA_DIST): Add .cvsignore.
30
31 * Makefile.am (libthreads_a_SOURCES): Add threads.h. I think this
32 is right...
33 (noinst_HEADERS): Remove it from here.
34 * Makefile.in: Rebuilt.
35
36Thu Jan 2 15:15:16 1997 Mikael Djurfeldt <mdj@kenneth>
37
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.)
46
47 * coop-defs.h: New file.
48
49 * coop-threads.c: Added #include "coop-threads.h"
50
51 * coop-threads.h: Moved coop_t struct and threads macros to
52 coop-defs.h. Added #include "coop-defs.h".
53
54 * threads.h: Changed #include "coop-threads.h" --> #include
55 "coop-defs.h".
56
57Mon Dec 9 17:20:39 1996 Tom Tromey <tromey@cygnus.com>
58
59 * Makefile.am (.c.x): Use guile-snarf.
60 (INCLUDES): Search for headers in libguile source and build
61 directories.
62
63Mon Dec 2 20:37:07 1996 Tom Tromey <tromey@cygnus.com>
64
65 * PLUGIN/greet: Removed.
66 * Makefile.am, aclocal.m4: New files.
67 * configure.in: Updated for Automake.
68
69Sun Nov 10 18:21:00 1996 Jim Blandy <jimb@totoro.cyclic.com>
70
71 * Makefile.in (uninstall_threads): rmdir -f isn't portable;
72 use rm -rf instead.
73
74Sun Nov 10 17:41:21 1996 Jim Blandy <jimb@floss.cyclic.com>
75
76 * Makefile.in, configure.in: When threads are disabled,
77 short-circuit the `install' and `uninstall' Makefile targets too.
78
79Sat Nov 2 21:29:33 1996 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
80
81 * threads.c: Added #include "dynwind.h".
82 Added scheme level procedure `single-active-thread?'.
83
84 * mit-pthreads.c, mit-pthreads.h: Port completed but untested.
85
86 * coop-threads.h: Increased SCM_THREAD_SWITCH_COUNT from 10 to 50
87 to decrease overhead at the cost of granularity.
88
89 * coop.c, coop-threads.h: Made coop_global_runq and
90 coop_global_sleepq visible globally.
91
92 * coop-threads.c (scm_single_thread_p): New function.
93
94Thu Oct 24 22:37:03 1996 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
95
96 * threads.c: #include "dynwind.h"
97
98 * coop-threads.c (scm_threads_mark_stacks): Removed unused
99 variable.
100
101 * coop.c (coop_qput, coop_all_qput, coop_all_qremove): Removed
102 unused variable.
103
104Wed Oct 9 19:46:00 1996 Jim Blandy <jimb@floss.cyclic.com>
105
106 * Makefile.in: Doc fixes.
107
108 * Makefile.in (ancillary): Corrected spelling from `ancillery'.
109
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.
114
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
120 the empty string.
121
122Sat Oct 5 18:40:09 1996 Mikael Djurfeldt <mdj@kenneth>
123
124 * threads.c, threads.h (scm_init_threads, scm_threads_init): Added
125 stack base pointer argument so that main thread can be initialized
126 properly.
127
128 * configure.in: Added lines to set default -g flag in CFLAGS and
129 LDFLAGS.
130
131 * coop-threads.c: Added argument checking to scheme level
132 procedures. Change the way threads are launched.
133
134 * threads.h: Added #include "procs.h"
135 Added macros SCM_THREADP, SCM_MUTEXP and SCM_CONDVARP.
136
137Wed Oct 2 14:36:44 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
138
139 * coop-threads.c (scm_threads_free_thread, scm_threads_free_mutex,
140 scm_threads_free_condvar): free --> scm_must_free
141
142 * coop-threads.h: Added macros SCM_THREAD_LOCAL_DATA and
143 SCM_SET_THREAD_LOCAL_DATA.
144
145Tue Oct 1 00:05:54 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
146
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.
150
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.
156
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
167 protects.
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
177 way.
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.
181
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
186 feature.c.
187
188 * threads.h: Added declaration of scm_init_threads. Added macro
189 selectors SCM_THREAD_DATA, SCM_MUTEX_DATA and SCM_CONDVAR_DATA.
190
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
194 new Guile.
195
196Thu Apr 4 10:19:56 1996 Tom Tromey <tromey@creche.cygnus.com>
197
198 Fixed CFLAGS usage:
199 * Makefile.in (XCFLAGS): New macro.
200 (.c.x): Use it.
201 (.c.o): Ditto.
202 * configure.in: Use DEFS, not X_CFLAGS.
203
204Fri Mar 29 17:08:14 1996 Anthony Green <green@snuffle.cygnus.com>
205
206 * no-threads.c (gscm_threads_init_all): This function is now
207 found in libguile.
208
209Fri Mar 29 16:52:27 1996 Tom Tromey <tromey@creche.cygnus.com>
210
211 * configure.in (CFLAGS): Use "test !=", not "! test".
212
213Fri Mar 29 11:51:18 1996 Anthony Green <green@snuffle.cygnus.com>
214
215 * Makefile.in (install): make install now works properly.
216
217Thu Mar 28 07:52:11 1996 Anthony Green <green@csk3.cygnus.com>
218
219 * mit-pthreads.c: dynwinds set to BOOL_T for new threads.
220 Added dummy yield function.
221
222Tue Mar 26 15:17:42 1996 Anthony Green (green@gerbil.cygnus.com)
223
224 * coop.c: Added new sleep() function. Behaves properly
225 among multiple cooperative threads. Replaces system call.
226
227Mon Mar 25 11:05:41 1996 Anthony Green (green@gerbil.cygnus.com)
228
229 * coop.c (COOP_STKSIZE): Boosted default stack size.
230
231 * coop-threads.c: Moved declaration of scm_coop_create_info
232 to avoid multiple definitions at link time.
233
234Sun Mar 24 23:04:29 1996 Anthony Green (green@gerbil.cygnus.com)
235
236 * configure: Rebuilt
237 * configure.in: Upgraded thread library/include support.
238
239Tue Mar 19 12:44:26 1996 Anthony Green (green@gerbil.cygnus.com)
240
241 * coop.c, coop-threads.h coop-threads.c: Major cleanup of
242 cooperative threading code.
243
244Tue Feb 13 15:45:39 1996 Anthony Green <green@hoser.cygnus.com>
245
246 * mit-pthreads.h: Defined pthread aware SCM_DEFER_INTS and friends.
247
248Mon Feb 12 19:59:55 1996 Anthony Green <green@hoser.cygnus.com>
249
250 * threads.c, no-threads.c, mit-pthreads.c, threads.scm: Creation.
251