summaryrefslogtreecommitdiff
path: root/libguile/ChangeLog-threads
blob: 1acd8360ce0dee2bf8bcc46850b01ba886003490 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
Some of the thread support code (threads.c, coop.c, etc.) used to live
in a separate directory called threads.  In April 1997, that dir was
merged with libguile; this is the ChangeLog from the old directory.

Please put new entries in the ordinary ChangeLog.

Mon Feb 24 21:48:12 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>

	* configure.in: Added AM_MAINTAINER_MODE

Fri Feb 21 23:52:16 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>

	* Makefile.am (modincludedir, modinclude_HEADERS): Added until
	libthreads is integrated into libguile, otherwise people who try
	to use Guile from an independent application will have trouble
	finding libguile/../threads/threads.h.

Sat Jan 11 18:35:39 1997  Marius Vollmer  <mvo@zagadka.ping.de>

	* Makefile.am (noinst_HEADERS): Added coop-defs.h so that it gets
 	distributed.

Tue Jan  7 14:05:35 1997  Mikael Djurfeldt  <mdj@kenneth>

	* coop-defs.h: Added includes which define `time_t'.

Sun Jan  5 15:07:07 1997  Jim Blandy  <jimb@floss.cyclic.com>

	* Makefile.am (EXTRA_DIST): Add .cvsignore.

	* Makefile.am (libthreads_a_SOURCES): Add threads.h.  I think this
	is right...
	(noinst_HEADERS): Remove it from here.
	* Makefile.in: Rebuilt.

Thu Jan  2 15:15:16 1997  Mikael Djurfeldt  <mdj@kenneth>

	These changes separates threads declarations which everybody wants
 	to see (coop-defs.h) from declarations internal to the threads
 	module (coop-threads.h), thereby solving the "-I ../qt" problem.
	(This is not the final solution.  All files in the threads
 	directory should be moved into libguile since 1. it is too tightly
 	interconnected with libguile internals to be a separate module and
 	2. it is actually quite small.  When doing this, things can be
 	organized in a more natural way.)

	* coop-defs.h: New file.
	
	* coop-threads.c: Added #include "coop-threads.h"

	* coop-threads.h: Moved coop_t struct and threads macros to
	coop-defs.h.  Added #include "coop-defs.h".

	* threads.h: Changed #include "coop-threads.h" --> #include
	"coop-defs.h".

Mon Dec  9 17:20:39 1996  Tom Tromey  <tromey@cygnus.com>

	* Makefile.am (.c.x): Use guile-snarf.
	(INCLUDES): Search for headers in libguile source and build
	directories.

Mon Dec  2 20:37:07 1996  Tom Tromey  <tromey@cygnus.com>

	* PLUGIN/greet: Removed.
	* Makefile.am, aclocal.m4: New files.
	* configure.in: Updated for Automake.

Sun Nov 10 18:21:00 1996  Jim Blandy  <jimb@totoro.cyclic.com>

	* Makefile.in (uninstall_threads): rmdir -f isn't portable;
	use rm -rf instead.

Sun Nov 10 17:41:21 1996  Jim Blandy  <jimb@floss.cyclic.com>

	* Makefile.in, configure.in: When threads are disabled,
 	short-circuit the `install' and `uninstall' Makefile targets too.

Sat Nov  2 21:29:33 1996  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>

	* threads.c: Added #include "dynwind.h".
	Added scheme level procedure `single-active-thread?'.

	* mit-pthreads.c, mit-pthreads.h: Port completed but untested.

	* coop-threads.h: Increased SCM_THREAD_SWITCH_COUNT from 10 to 50
	to decrease overhead at the cost of granularity.

	* coop.c, coop-threads.h: Made coop_global_runq and
	coop_global_sleepq visible globally.

	* coop-threads.c (scm_single_thread_p): New function.

Thu Oct 24 22:37:03 1996  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>

	* threads.c: #include "dynwind.h"

	* coop-threads.c (scm_threads_mark_stacks): Removed unused
 	variable.

	* coop.c (coop_qput, coop_all_qput, coop_all_qremove): Removed
 	unused variable.

Wed Oct  9 19:46:00 1996  Jim Blandy  <jimb@floss.cyclic.com>

	* Makefile.in: Doc fixes.

	* Makefile.in (ancillary): Corrected spelling from `ancillery'.
	
	* Makefile.in (source, h_files, ancillary): Updated to describe
	the actual contents of the tree.
	(PLUGIN_distfiles): New variable.
	(dist-dir): New target, to create a sub-tree of a distribution.
	
	* Makefile.in (all): Depend on @target_all@ instead of
 	libthreads.a, so the configure script can make this makefile do
 	nothing when threads aren't in use.
	* configure.in: If we using cooperative threads, then let
	@target_all@ expand to libthreads.a; otherwise, let it expand to
	the empty string.

Sat Oct  5 18:40:09 1996  Mikael Djurfeldt  <mdj@kenneth>

	* threads.c, threads.h (scm_init_threads, scm_threads_init): Added
	stack base pointer argument so that main thread can be initialized
	properly.

	* configure.in: Added lines to set default -g flag in CFLAGS and
	LDFLAGS.

	* coop-threads.c: Added argument checking to scheme level
	procedures.  Change the way threads are launched.

	* threads.h: Added #include "procs.h"
	Added macros SCM_THREADP, SCM_MUTEXP and SCM_CONDVARP.

Wed Oct  2 14:36:44 1996  Mikael Djurfeldt  <mdj@woody.nada.kth.se>

	* coop-threads.c (scm_threads_free_thread, scm_threads_free_mutex,
 	scm_threads_free_condvar):  free --> scm_must_free

	* coop-threads.h: Added macros SCM_THREAD_LOCAL_DATA and
	SCM_SET_THREAD_LOCAL_DATA.
	
Tue Oct  1 00:05:54 1996  Mikael Djurfeldt  <mdj@woody.nada.kth.se>

	* coop-threads.c (scm_threads_mark_stacks): scm_save_regs_gc_mark
	is already in root state (should it really?).  Don't allocate it
	locally; Remove extra argument to scm_mark_locations.

	* coop-threads.h: Changed #include <qt.h> --> #include "../qt/qt.h"
	(SCM_THREAD_INITIALIZE_STORAGE, SCM_DEFER_INTS, SCM_ALLOW_INTS,
 	SCM_REDEFER_INTS, SCM_REALLOW_INTS, scm_coop_create_info_type):
 	Removed; Declaration of scm_coop_create_info removed.  Added
 	definition of SCM_THREADS_SWITCHING_CODE.

	* coop-threads.c: Removed gscm_type objects.  Renamed all
 	  gscm_threads_<type>_die --> scm_threads_free_<type> and let them
 	  return freed size as smob freeing code normally does.  Removed
 	  thread creation mutex and thread creation info structure.
	(gscm_threads_thread_equal, gscm_pthread_delete_info,
 	 scm_threads_init): Removed.
	(scm_threads_init_coop_threads): Removed allocation of thread
 	  local data.  Removed initialization of thread creation mutex.
  	  Renamed scm_threads_init_coop_threads --> scm_threads_init.
	(scm_threads_mark_stacks): Mark root object instead of local
 	  protects.
	(launch_thread): thunk and handler is passed as a scheme list.
  	  Call scm_with_new_root instead of scm_with_dynamic_root.  Let
 	  scm_with_new_root care about thread local variables.  Removed
 	  unlocking of creation mutex.
	(scm_call_with_new_thread): Remove initialization of create info
 	  structure and locking of creation mutex.  Do smob allocation.
	(scm_join_thread): Extract thread data in a new way.
	(scm_make_mutex): Do smob allocation.
	(scm_lock_mutex, scm_unlock_mutex): Extract thread data in a new
 	way.
	(scm_make_condition_variable): Do smob allocation.
	(scm_wait_condition_variable, scm_signal_condition_variable):
 	Extract thread data in a new way.

	* threads.c: Don't use files "no-threads.[hc]".  Removed old code
 	for creation of thread, mutex and condition-variable objects.
  	Added smobs instead.  Use scm_threads_free_<type> for freeing.
	(scm_init_threads): Moved scm_add_feature ("threads") to
 	feature.c.
	
	* threads.h: Added declaration of scm_init_threads.  Added macro
 	selectors SCM_THREAD_DATA, SCM_MUTEX_DATA and SCM_CONDVAR_DATA.

	* coop-threads.c, coop-threads.h, coop.c, fsu-pthreads.h,
	mit-pthreads.c, mit-pthreads.h, threads.c, threads.h: Replaced
	"gscm" --> "scm" everywhere.  Lots of name changes to concord with
	new Guile.

Thu Apr  4 10:19:56 1996  Tom Tromey  <tromey@creche.cygnus.com>

	Fixed CFLAGS usage:
	* Makefile.in (XCFLAGS): New macro.
	(.c.x): Use it.
	(.c.o): Ditto.
	* configure.in: Use DEFS, not X_CFLAGS.

Fri Mar 29 17:08:14 1996  Anthony Green  <green@snuffle.cygnus.com>

	* no-threads.c (gscm_threads_init_all): This function is now 
	found in libguile.

Fri Mar 29 16:52:27 1996  Tom Tromey  <tromey@creche.cygnus.com>

	* configure.in (CFLAGS): Use "test !=", not "! test".

Fri Mar 29 11:51:18 1996  Anthony Green  <green@snuffle.cygnus.com>

	* Makefile.in (install): make install now works properly.

Thu Mar 28 07:52:11 1996  Anthony Green  <green@csk3.cygnus.com>

	* mit-pthreads.c: dynwinds set to BOOL_T for new threads.
	Added dummy yield function.

Tue Mar 26 15:17:42 1996  Anthony Green  (green@gerbil.cygnus.com)

	* coop.c: Added new sleep() function. Behaves properly
	among multiple cooperative threads. Replaces system call.

Mon Mar 25 11:05:41 1996  Anthony Green  (green@gerbil.cygnus.com)

	* coop.c (COOP_STKSIZE): Boosted default stack size.

	* coop-threads.c: Moved declaration of scm_coop_create_info
	to avoid multiple definitions at link time.

Sun Mar 24 23:04:29 1996  Anthony Green  (green@gerbil.cygnus.com)

        * configure: Rebuilt
	* configure.in: Upgraded thread library/include support.

Tue Mar 19 12:44:26 1996  Anthony Green  (green@gerbil.cygnus.com)

	* coop.c, coop-threads.h coop-threads.c: Major cleanup of
        cooperative threading code.

Tue Feb 13 15:45:39 1996  Anthony Green  <green@hoser.cygnus.com>

	* mit-pthreads.h: Defined pthread aware SCM_DEFER_INTS and friends.

Mon Feb 12 19:59:55 1996  Anthony Green  <green@hoser.cygnus.com>

	* threads.c, no-threads.c, mit-pthreads.c, threads.scm: Creation.