]> sourceware.org Git - glibc.git/blame - linuxthreads/ChangeLog
Update.
[glibc.git] / linuxthreads / ChangeLog
CommitLineData
b2d4446f
UD
12000-04-15 Ulrich Drepper <drepper@redhat.com>
2
a5a6f926
UD
3 * internals.h (WRITE_MEMORY_BARRIER): Define as MEMORY_BARRIER if
4 undefined.
5 * spinlock.c: Use WRITE_MEMORY_BARRIER instead of MEMORY_BARRIER
6 where possible.
7 * sysdeps/alpha/pt-machine.h: Define WRITE_MEMORY_BARRIER.
8 * sysdeps/sparc/sparc64/pt-machine.h: Likewise.
9
b2d4446f
UD
10 * sysdeps/unix/sysv/linux/bits/posix_opt.h: Add _POSIX_SPAWN.
11 * sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Likewise.
12
b82f6af2
AJ
132000-04-14 Andreas Jaeger <aj@suse.de>
14
15 * weaks.c: Fix typo.
16
43c36f63
AJ
17 * shlib-versions (mips.*-.*-linux.*): Support only GLIBC 2.0 and
18 2.2 for linuxthreads.
19
547ff462
UD
202000-04-13 Ulrich Drepper <drepper@redhat.com>
21
22 * sysdeps/unix/sysv/linux/i386/getcpuclockid.c
23 (pthread_getcpuclockid): Fix typo.
24
b3ae0650
UD
252000-04-12 Ulrich Drepper <drepper@redhat.com>
26
3737ff12
UD
27 * Makefile (libpthread-routines): Add getcpuclockid.
28 * Versions [libpthread] (GLIBC_2.2): Add pthread_getcpuclockid.
29 * sysdeps/pthread/getcpuclockid.c: New file.
30 * sysdeps/unix/sysv/linux/i386/getcpuclockid.c: New file.
31 * sysdeps/pthread/pthread.h: Add prototype for pthread_getcpuclockid.
32
07d641eb
UD
33 * sysdeps/unix/sysv/linux/bits/posix_opt.h (_POSIX_SPIN_LOCKS):
34 Defined.
35 * sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Likewise.
36
d8d914df
UD
37 * sysdeps/pthread/pthread.h: Add prototypes for pthread_spin_init,
38 pthread_spin_destroy, pthread_spin_lock, pthread_spin_trylock,
39 and pthread_spin_unlock.
40 * sysdeps/pthread/bits/pthreadtypes.h: Change struct _pthread_fastlock
41 into pthread_spinlock_t. Change all uses.
42 * spinlock.c: Implement pthread_spin_lock.
43 Rename __pthread_unlock to __pthread_spin_unlock and define weak
44 alias for real name.
45 Define pthread_spin_trylock, pthread_spin_init, and
46 pthread_spin_destroy.
47 Change all uses of _pthread_fastlock to pthread_spinlock_t.
48 * spinlock.h: Rename __pthread_unlock to __pthread_spin_unlock.
49 Change all uses of _pthread_fastlock to pthread_spinlock_t.
50 * Versions [libpthread] (GLIBC_2.2): Add pthread_spin_init,
51 pthread_spin_destroy, pthread_spin_lock, pthread_spin_trylock,
52 and pthread_spin_unlock.
53 * cancel.c: Use __pthread_spin_unlock instead of __pthread_unlock.
54 Change all uses of _pthread_fastlock to pthread_spinlock_t.
55 * condvar.c: Likewise.
56 * internals.h: Likewise.
57 * join.c: Likewise.
58 * manager.c: Likewise.
59 * mutex.c: Likewise.
60 * pthread.c: Likewise.
61 * rwlock.c: Likewise.
62 * semaphore.c: Likewise.
63 * signals.c: Likewise.
64
b3ae0650
UD
65 * sysdeps/unix/sysv/linux/bits/posix_opt.h: Add various new POSIX
66 macros.
67 * sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: New file.
68
8a31d742
UD
692000-04-11 Ulrich Drepper <drepper@redhat.com>
70
71 * sysdeps/unix/sysv/linux/bits/posix_opt.h: Add
72 _POSIX_SHARED_MEMORY_OBJECTS.
73
2a086df9
AJ
742000-04-11 Andreas Jaeger <aj@suse.de>
75
76 * sysdeps/mips/pt-machine.h (MEMORY_BARRIER): Define.
77 (__compare_and_swap): Mark as modifying memory.
78
4a1a3c21
GK
792000-04-11 Geoff Keating <geoffk@cygnus.com>
80
81 * sysdeps/powerpc/pt-machine.h (MEMORY_BARRIER): Don't be
82 __volatile__.
83 (__compare_and_swap): Replace other 'sync' with MEMORY_BARRIER.
84 Don't have the 'asm' __volatile__.
85
de262537
UD
862000-04-11 Ulrich Drepper <drepper@redhat.com>
87
88 * internals.h: Define MEMORY_BARRIER as empty if not defined already.
89 * spinlock.c (__pthread_lock): Add memory barriers.
90 (__pthread_unlock): Likewise.
91 * sysdeps/alpha/pt-machine.h (MEMORY_BARRIER): Define using mb
92 instruction.
93 (RELEASE): Not needed anymore.
94 (__compare_and_swap): Mark asm as modifying memory.
95 * sysdeps/powerpc/pt-machine.h (sync): Remove. Replace with definition
96 of MEMORY_BARRIER.
97 (__compare_and_swap): Use MEMORY_BARRIER instead of sync.
98 * sysdeps/sparc/sparc32/pt-machine.h (RELEASE): Not needed anymore.
99 (MEMORY_BARRIER): Define using stbar.
100 * sysdeps/sparc/sparc64/pt-machine.h (MEMORY_BARRIER): Define using
101 stbar.
102 (__compare_and_swap): Use MEMORY_BARRIER to ensure ordering.
103 Patch by Xavier Leroy <Xavier.Leroy@inria.fr> based on comments by
104 Mike Burrows <m3b@pa.dec.com>.
105
4186c9f4
UD
1062000-04-09 Ulrich Drepper <drepper@redhat.com>
107
108 * signals.c (sigaction): Fix return value for the case SIG is one
109 of the signals the implementation uses.
110 Patch by Xavier.Leroy@inria.fr.
111
bd457114
UD
1122000-04-01 Andreas Jaeger <aj@suse.de>
113
114 * attr.c: Use shlib-compat macros.
115 * oldsemaphore.c: Likewise.
116 * pthread.c: Likewise.
117 * weaks.c: Likewise.
118
1edf26ff
UD
1192000-03-26 Ulrich Drepper <drepper@redhat.com>
120
121 * semaphore.c (sem_timedwait): New function.
122 Patch by Carl Mailloux <carlm@oricom.ca>.
123 * semaphore.h: Declare sem_timedwait.
8e605e78 124 * Versions [libpthread] (GLIBC_2.2): Add sem_timedwait.
1edf26ff 125
54f6cbb3
RM
1262000-03-26 Roland McGrath <roland@baalperazim.frob.com>
127
128 * sysdeps/pthread/Makefile: File removed.
129
c0bc5f7b
UD
1302000-03-23 Ulrich Drepper <drepper@redhat.com>
131
383052e9
UD
132 * mutex.c (__pthread_reset_pthread_once): Reset once_masterlock.
133 * internals.h (__pthread_reset_pthread_once): Add prototype.
134 * ptfork.c (__fork): Call __pthread_reset_pthread_once.
135
c0bc5f7b
UD
136 * manager.c (pthread_handle_create): Store ID of new thread before
137 clone call.
138
0bf98029
UD
1392000-03-21 Ulrich Drepper <drepper@redhat.com>
140
ef7dddd0
UD
141 * attr.c: Use new macros from shlib-compat.h to define versions.
142 * oldsemaphore.c: Likewise.
143 * semaphore.c: Likewise.
144 * weaks.c: Likewise.
145
1ab1ea76
UD
146 * pthread.c: Update for new SHLIB_COMPAT definition.
147
101edd3f
UD
148 * manager.c (__pthread_manager): Unmask debug signal.
149
0bf98029
UD
150 * pthread.c (pthread_initialize): Test for address of __dso_handle
151 being NULL, not value. Use __on_exit, not on_exit.
e063cef8 152 Patch by Andreas Jaeger <aj@suse.de>.
0bf98029 153
75836bc8
UD
154 * pthread.c: Use new macros from shlib-compat.h to define versions.
155
a6a478e9
UD
1562000-03-19 Ulrich Drepper <drepper@redhat.com>
157
158 * pthread.c (pthread_initialize): Instead of on_exit use
159 __cxa_atexit if __dso_label is available to allow unloading the
160 libpthread shared library.
161
13a83604
UD
1622000-03-16 Ulrich Drepper <drepper@redhat.com>
163
164 * condvar.c: Make tests for ownership of mutex less strict.
165
30b416ea
UD
1662000-03-14 Ulrich Drepper <drepper@redhat.com>
167
5d141597
UD
168 * condvar.c (pthread_cond_wait): Check whether mutex is owned by
169 current thread and return error if not.
04366d5f
UD
170 (pthread_cond_timedwait_relative_old): Likewise.
171 (pthread_cond_timedwait_relative_new): Likewise.
5d141597 172
30b416ea
UD
173 * mutex.c (__pthread_once): Handle cancelled init function correctly.
174 (pthread_once_cancelhandler): New function.
175 Patch by Kaz Kylheku <kaz@ashi.footprints.net>.
176
56eea8d1
UD
1772000-03-14 Andreas Jaeger <aj@suse.de>
178
179 * pthread.c (pthread_handle_sigcancel_rt): GS has been renamed to
180 REG_GS.
181 (pthread_handle_sigrestart_rt): Likewise.
182 * signals.c (pthread_sighandler_rt): Likewise.
183
3d9ebedb
AJ
1842000-03-02 Andreas Jaeger <aj@suse.de>
185
186 * sysdeps/pthread/bits/libc-lock.h: Fix typo.
187 Reported by Sean Chen <sean.chen@turbolinux.com>.
188
b041ebc2
UD
1892000-02-28 Andreas Jaeger <aj@suse.de>
190
191 * rwlock.c: Fix typo.
192
0ed99ce4
UD
1932000-02-27 Ulrich Drepper <drepper@redhat.com>
194
195 * rwlock.c: Define __* variants of the functions and make old names
196 aliases.
197 * Versions [GLIBC_2.2]: Export the __pthread_rwlock_* functions.
198 * sysdeps/pthread/bits/libc-lock.h: Define __libc_rwlock_* macros.
199
d66732e0
UD
2002000-02-25 Andreas Jaeger <aj@suse.de>
201
202 * Versions: Export pread, __pread64, pread64, pwrite, __pwrite64,
0ed99ce4
UD
203 pwrite64, lseek64, open64, and __open64 with version 2.2.
204
93a19c64
UD
2052000-02-22 Ulrich Drepper <drepper@redhat.com>
206
207 * semaphore.h (SEM_FAILED): Use 0 not NULL.
208
ec91ea7c
UD
2092000-02-14 Ulrich Drepper <drepper@redhat.com>
210
211 * condvar.c (pthread_cond_timedwait_relative_old): Tight loop with
212 nanosleep does not work either. Get absolute time inside the
213 loop.
214 (pthread_cond_timedwait_relative_new): Likewise.
215 Patch by Kaz Kylheku <kaz@ashi.footprints.net>.
216
f5ff12d8
UD
2172000-02-13 Andreas Jaeger <aj@suse.de>
218
219 * condvar.c (pthread_cond_timedwait_relative_new): Fix last patch.
220 (pthread_cond_timedwait_relative_old): Likewise.
221
46661856
UD
2222000-02-13 Ulrich Drepper <drepper@redhat.com>
223
224 * condvar.c (pthread_cond_timedwait_relative_old): Undo last patch
225 but keep the code around. A bug in the kernel prevent us from
226 using the code.
227 (pthread_cond_timedwait_relative_new): Likewise.
228 (PR libc/1597 and libc/1598).
229
b168cff2
UD
2302000-02-01 Kaz Kylheku <kaz@ashi.footprints.net>
231
232 * condvar.c (pthread_cond_timedwait_relative_old): Do tight
233 loop around nanosleep calls instead of around most of the function
234 (pthread_cond_timedwait_relative_new): Likewise.
235 body. Got rid of backwards goto and one local.
236
8a94dfe4
UD
2372000-01-31 Ulrich Drepper <drepper@redhat.com>
238
239 * condvar.c (pthread_cond_timedwait_relative_old): Recompute time
240 before every nanosleep call to account for time spent in the rest
241 of the function.
242 (pthread_cond_timedwait_relative_new): Likewise.
243 Patch by khendricks@ivey.uwo.ca (PR libc/1564).
244
b6aa34eb
UD
2452000-01-29 Ulrich Drepper <drepper@redhat.com>
246
247 * condvar.c (pthread_cond_timedwait_relative_old): Get remaining time
248 from nanosleep call so that in case we restart we only wait for the
249 remaining time.
250 (pthread_cond_timedwait_relative_new): Likewise.
251 Patch by khendricks@ivey.uwo.ca (PR libc/1561).
252
0af4c646
UD
2532000-01-18 Ulrich Drepper <drepper@cygnus.com>
254
255 * manager.c (pthread_allocate_stack): Compute guard page address
256 correctly. Patch by HJ Lu.
257
258 * sysdeps/pthread/pthread.h: Define
259 PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP.
260
2449110a
UD
2612000-01-16 Ulrich Drepper <drepper@cygnus.com>
262
263 * rwlock.c (pthread_rwlock_unlock): Correct one more problem with
264 preference handling.
265 (pthread_rwlockattr_setkind_np): Allow
266 PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP.
267 Patches by Kaz Kylheku <kaz@ashi.footprints.net>.
268
03c0d6ef
UD
2692000-01-12 Ulrich Drepper <drepper@cygnus.com>
270
271 * internals.h (pthread_readlock_info): New structure.
272 (_pthread_descr_struct): Add p_readlock_list, p_readlock_free, and
273 p_untracked_readlock_count.
274 * pthread.c (__pthread_initial_thread, pthread_manager_thread):
275 Add initializers for new fields.
276 * manager.c (pthread_free): Free read/write lock lists.
277 * queue.h (queue_is_empty): New function.
278 * rwlock.c: Implement requirements about when readers should get
279 locks assigned.
280 * sysdeps/pthread/pthread.h
281 (PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP): New definition.
282 * sysdeps/pthread/bits/pthreadtypes.h (struct _pthread_rwlock_t):
283 Define this name as well.
284 Patches by Kaz Kylheku <kaz@ashi.footprints.net>.
285
d569d333
UD
2862000-01-05 Ulrich Drepper <drepper@cygnus.com>
287
2ba3c836
UD
288 * pthread.c (__pthread_initial_thread, pthread_manager_thread):
289 Adjust initializers for struct _pthread_descr_struct change.
d569d333
UD
290 * internals.h (struct _pthread_descr_struct): Move new elements to
291 the end.
292
1d2fc9b3
UD
2932000-01-03 Kaz Kylheku <kaz@ashi.footprints.net>
294
295 Redesigned how cancellation unblocks a thread from internal
296 cancellation points (sem_wait, pthread_join,
297 pthread_cond_{wait,timedwait}).
298 Cancellation won't eat a signal in any of these functions
299 (*required* by POSIX and Single Unix Spec!).
a3bfd999 300 * condvar.c: Spontaneous wakeup on pthread_cond_timedwait won't eat a
1d2fc9b3
UD
301 simultaneous condition variable signal (not required by POSIX
302 or Single Unix Spec, but nice).
303 * spinlock.c: __pthread_lock queues back any received restarts
304 that don't belong to it instead of assuming ownership of lock
305 upon any restart; fastlock can no longer be acquired by two threads
306 simultaneously.
a3bfd999 307 * restart.h: Restarts queue even on kernels that don't have
1d2fc9b3
UD
308 queued real time signals (2.0, early 2.1), thanks to atomic counter,
309 avoiding a rare race condition in pthread_cond_timedwait.
310
1c5d4617
UD
3111999-12-31 Andreas Jaeger <aj@suse.de>
312
313 * internals.h: Remove duplicate prototype declarations.
314
315 * weaks.c: Remove __THROW from prototypes since the file is not
316 compiled by a C++ compiler.
317 * internals.h: Likewise.
318
3191999-12-30 Andreas Jaeger <aj@suse.de>
320
321 * sysdeps/pthread/pthread.h: Move internal functions to...
322 * sysdeps/pthread/bits/libc-lock.h: ...here.
323
d876f532
UD
3241999-12-29 Andreas Jaeger <aj@suse.de>
325
326 * sysdeps/pthread/pthread.h: Fix typos, reformat comments.
327
056e0358
UD
3281999-12-28 Ulrich Drepper <drepper@cygnus.com>
329
330 * sysdeps/alpha/pt-machine.h: Move stack_pointer definition to the
331 beginning.
332
333 * manager.c (__pthread_start): Add one more cast to prevent
334 warning on 64bit machines.
335
46fd4f67
UD
3361999-12-21 Ulrich Drepper <drepper@cygnus.com>
337
338 * manager.c (pthread_handle_create): Set p_pid of new thread
339 before calling the callback function to report a new thread.
340
c63598bf
UD
3411999-12-20 Andreas Jaeger <aj@suse.de>
342
343 * pthread.c (pthread_initialize): Move getrlimit call after
344 setting of errno.
345
b85697f6
UD
3461999-12-18 Ulrich Drepper <drepper@cygnus.com>
347
778c59c8
UD
348 * Versions: Export pread, __pread64, pread64, pwrite, __pwrite64,
349 pwrite64, lseek64, open64, and __open64.
350 * wrapsyscall.c: Define pread, __pread64, pread64, pwrite, __pwrite64,
351 pwrite64, lseek64, open64, and __open64.
352
b85697f6
UD
353 * manager.c (pthread_allocate_stack): Correct computation of
354 new_thread_bottom. Correct handling of stack size and when the
355 rlimit method to guard for stack growth is used.
356 * pthread.c (pthread_initialize): Stack limit must be STACK_SIZE
357 minus one pagesize (not two).
358
b43b13ac
UD
3591999-12-03 Andreas Jaeger <aj@suse.de>
360
361 * Versions: Add __res_state with version GLIBC_2.2.
362
363 * errno.c (__res_state): New function to return thread specific
364 resolver state.
365
366 * pthread.c (pthread_initialize): Initialize p_resp.
367 (__pthread_reset_main_thread): Also set p_resp.
368
369 * manager.c (pthread_handle_create): Initialize p_resp.
370
371 * internals.h: Add thread specific resolver state.
372 Based on patches by Adam D. Bradley <artdodge@cs.bu.edu>.
373
d7a4856e
UD
3741999-12-01 Ulrich Drepper <drepper@cygnus.com>
375
376 * sysdeps/i386/pt-machine.h: Move stack_pointer definition to the
377 beginning.
378 * sysdeps/i386/i686/pt-machine.h: Likewise.
379 Patches by Alan Modra <alan@SPRI.Levels.UniSA.Edu.Au>.
380
ffd35632
UD
3811999-11-23 Ulrich Drepper <drepper@cygnus.com>
382
383 * manager.c (pthread_start_thread_event): Initialize p_pid already
384 here.
385
20bdb31b
UD
3861999-11-22 Ulrich Drepper <drepper@cygnus.com>
387
388 * internals.h: Add prototype for __pthread_manager_event.
389 * manager.c (__pthread_manager_event): New function.
390 (pthread_start_thread_event): Correct computation of self.
391 Use INIT_THREAD_SELF.
392 * pthread.c (__pthread_manager_thread): Initialize p_lock.
393 (__pthread_initialize_manager): Respect event flags also for creation
394 of the manager thread.
395
178a145a
UD
3961999-11-08 Ulrich Drepper <drepper@cygnus.com>
397
398 * pthread.c (__pthread_initialize_manager): Initialize
399 __pthread_manager_thread.p_tid.
400
a9cb398f
UD
4011999-11-02 Ulrich Drepper <drepper@cygnus.com>
402
ab86fbb1
UD
403 * internals.h: Declare __pthread_last_event.
404 * manager.c: Define __pthread_last_event.
405 (pthread_handle_create): Set __pthread_last_event.
406 (pthread_exited): Likewise.
407 * join.c (pthread_exit): Likewise.
408
a9cb398f
UD
409 * Makefile (libpthread-routines): Add events.
410 * events.c: New file.
411 * internals.h: Protect against multiple inclusion.
412 Include thread_dbP.h header.
413 (struct _pthread_descr_struct): Add new fields p_report_events and
414 p_eventbuf.
415 Declare event reporting functions.
416 * join.c (pthread_exit): Signal event if this is wanted.
417 * manager.c (__pthread_threads_events): New variable.
418 (pthread_handle_create): Take new parameters with event information.
419 Signal TD_CREATE event if wanted.
420 (__pthread_manager): Adjust pthread_handle_create call.
421 (pthread_start_thread_event): New function. Block until manager is
422 finished and then call pthread_start_thread.
423 (pthread_exited): Signal TD_REAP event if wanted.
424
8dd1e494
UD
4251999-10-26 Ulrich Drepper <drepper@cygnus.com>
426
427 * restart.h (suspend_with_cancellation): Rewrite as a macro.
428
429 * condvar.c (pthread_cond_timedwait_relative): Don't mark as inline.
430
86cfe82d
UD
4311999-10-25 Andreas Jaeger <aj@suse.de>
432
433 * internals.h: Remove K&R compatibility.
434 * no-tsd.c: Likewise.
435 * semaphore.h: Likewise.
436 * signals.c: Likewise.
437 * sysdeps/pthread/bits/libc-tsd.h: Likewise.
438 * sysdeps/unix/sysv/linux/bits/sigthread.h: Likewise.
439 * weaks.c: Likewise.
440
15daa639
UD
4411999-10-21 Xavier Leroy <Xavier.Leroy@inria.fr>
442
443 * linuxthreads/pthread.c: For i386, wrap pthread_handle_sigrestart
444 and pthread_handle_sigcancel with functions that restore
445 %gs from the signal context. For each signal handling function,
446 two wrappers are required, one for a non-RT signal and one for
447 a RT signal.
448 * linuxthreads/signal.c: For i386, add code to restore %gs
449 from the signal context in pthread_sighandler and
450 pthread_sighandler_rt.
451
ef5d6645
UD
4521999-10-17 Ulrich Drepper <drepper@cygnus.com>
453
454 * internals.h (PTHREAD_START_ARGS_INITIALIZER): Add cast.
455
f6367df2
UD
4561999-10-14 Ulrich Drepper <drepper@cygnus.com>
457
4a379216
UD
458 * pthread.c (__pthread_initial_thread): Pass argument to
459 PTHREAD_START_ARGS_INITIALIZER.
460 (__pthread_manager_thread): Likewise.
461
462 * internals.h (PTHREAD_START_ARGS_INITIALIZER): Add parameter to
463 initialize function.
464
f6367df2
UD
465 * manager.c (pthread_handle_create): Remove p_startfct initialization.
466
467 * internals.h (_pthread_descr_struct): We don't need p_startfct field.
468
d4c5cf80
UD
4691999-10-12 Ulrich Drepper <drepper@cygnus.com>
470
471 * internals.h: Correct return types for __libc_read and __libc_write.
472
883c331a
UD
4731999-10-09 Andreas Jaeger <aj@suse.de>
474
475 * internals.h: Add __new_sem_post to get prototype in
476 manager.c; include semaphore.h for needed types.
477
c813f986
UD
4781999-10-08 Ulrich Drepper <drepper@cygnus.com>
479
480 * manager.c (__pthread_manager) [REQ_POST]: Use __new_sem_post
481 directly instead of calling sem_post which should not be necessary
482 but is faster and might help in some case to work around problems.
c1422e5b 483 Patch by khendricks@ivey.uwo.ca [libc/1382].
c813f986 484
0f5219d4
UD
4851999-10-08 Andreas Schwab <schwab@suse.de>
486
487 * sysdeps/pthread/Subdirs: New file.
488 * Implies: Removed.
489
9640bbe1
UD
4901999-10-07 Ulrich Drepper <drepper@cygnus.com>
491
492 * Implies: New file.
493 * internals.h (struct _pthread_descr_struct): Add p_startfct.
494 * manager.c (pthread_handle_create): Initialize p_startfct.
495 * pthread.c: Define __linuxthread_pthread_sizeof_descr variable.
496
079c00e6
UD
4971999-09-25 Ulrich Drepper <drepper@cygnus.com>
498
d790bc34
UD
499 * manager.c (__linuxthreads_pthread_threads_max): New variable.
500 * specific.c (__linuxthreads_pthread_keys_max): New variable.
6e42b0f1 501 (__linuxthreads_pthread_key_2ndlevel_size): New variable.
d790bc34 502
079c00e6
UD
503 * condvar.c (pthread_cond_timedwait_relative): Never return with
504 EINTR. Patch by Andreas Schwab.
505
b5c69d99
UD
5061999-09-19 Ulrich Drepper <drepper@cygnus.com>
507
508 * signals.c (sigaction): Correct last patch. Don't select
509 pthread_sighandler_rt based on the signal number but instead of
510 the SA_SIGINFO flag.
511
d790bc34
UD
5121999-09-23 Ulrich Drepper <drepper@cygnus.com>
513
514 * specific.c: Move definitions of struct pthread_key_struct and
515 destr_function to ...
516 * internals.h: ...here.
517
9cf44e65
UD
5181999-09-18 Ulrich Drepper <drepper@cygnus.com>
519
520 * pthread.c (pthread_handle_sigrestart_rt): New function. Use
521 this instead of pthread_handle_sigrestart if the signal is an RT
522 signal.
523
524 * signals.c: Handle passing through of sighandler arguments also
525 for real-time signals.
526
4fe53b3a
UD
5271999-09-03 Andreas Schwab <schwab@suse.de>
528
529 * ptfork.c (__fork): Renamed from fork and use __libc_fork. Add
530 fork as weak alias.
531 (__vfork): New function, alias vfork.
532 * Versions: Export __fork, vfork, and __vfork in libpthread.
533
1d0b89a4
UD
5341999-08-23 Andreas Schwab <schwab@suse.de>
535
536 * signals.c (pthread_sighandler): Add SIGCONTEXT_EXTRA_ARGS to
537 call to signal handler.
538
6570e194
UD
5391999-08-20 Ulrich Drepper <drepper@cygnus.com>
540
541 * pthread.c (__pthread_reset_main_thread): Undo last change.
542 (__pthread_kill_other_threads_np): Reset signal handlers for the
543 signals we used in the thread implementation here.
544
70aea399
UD
5451999-08-19 Ulrich Drepper <drepper@cygnus.com>
546
2b638910 547 * pthread.c (__pthread_reset_main_thread): Reset signal handlers
68ea6c18 548 for the signals we used in the thread implementation [PR libc/1234].
2b638910 549
264ec183
UD
550 * Versions: Export __pthread_kill_other_threads_np from libpthread
551 for GLIBC_2.1.2.
552
70aea399
UD
553 * signals.c: Pass sigcontext through wrapper to the user function.
554
ff5fad16
UD
5551999-08-01 Ulrich Drepper <drepper@cygnus.com>
556
557 * Versions [ld.so] (GLIBC_2.0): Export __libc_internal_tsd_get and
558 __libc_internal_tsd_set.
559
6b798621
UD
5601999-07-29 Andreas Jaeger <aj@arthur.rhein-neckar.de>
561
562 * manager.c: Remove inclusion of <linux/tasks.h> since it's not
563 needed anymore.
564
76a16b8f
UD
5651999-07-16 Andreas Jaeger <aj@arthur.rhein-neckar.de>
566
4bf307e3 567 * internals.h: Align _pthread_descr_struct to 32 bytes.
76a16b8f
UD
568 Reported by Tim Hockin <thockin@cobaltnet.com>, close PR
569 libc/1206.
570
5ef2d37b
UD
5711999-07-09 Ulrich Drepper <drepper@cygnus.com>
572
573 * oldsemaphore.c (sem_compare_and_swap): Fix use of compare and
574 swap function.
575
c2fa5b5a
UD
5761999-07-09 Cristian Gafton <gafton@redhat.com>
577
578 * Makefile (libpthread-routines): Add oldsemaphore routine.
ae3c1571
UD
579 * Versions: Add sem_destroy, sem_getvalue, sem_init, sem_post,
580 sem_trywait, and sem_wait to GLIBC_2.1.
c2fa5b5a
UD
581 * oldsemaphore.c: New file.
582 * semaphore.c: Add default_symbol_versions for the changed functions.
583 (__new_sem_init): Rename from sem_init.
584 (__new_sem_post): Rename from sem_post.
585 (__new_sem_wait): Rename from sem_wait.
586 (__new_sem_trywait): Rename from sem_trywait.
587 (__new_sem_getvalue): Rename from sem_getvalue.
588 (__new_sem_destroy): Rename from sem_destroy.
589
6a1db4ff
UD
5901999-06-23 Robey Pointer <robey@netscape.com>
591
592 * internals.h: Added p_nextlock entry to separate queueing for a
593 lock from queueing for a CV (sometimes a thread queues on a lock
594 to serialize removing itself from a CV queue).
595 * pthread.c: Added p_nextlock to initializers.
596 * spinlock.c: Changed to use p_nextlock instead of p_nextwaiting.
597
019e7a64
UD
5981999-07-09 Ulrich Drepper <drepper@cygnus.com>
599
600 * manager.c (pthread_handle_create): Free mmap region after stack
601 if clone failed. Patch by Kaz Kylheku <kaz@ashi.FootPrints.net>.
602
33d1a2c5
UD
6031999-05-23 Andreas Jaeger <aj@arthur.rhein-neckar.de>
604
605 * man/pthread_cond_init.man: Correct example.
606 Reported by Tomas Berndtsson <tomas@nocrew.org>.
607
608 * linuxthreads.texi (Condition Variables): Likewise.
609
407d26b7
UD
6101999-05-18 Jakub Jelinek <jj@ultra.linux.cz>
611
612 * sysdeps/sparc/sparc64/pt-machine.h (__compare_and_swap): Use
613 casx not cas, also successful casx returns the old value in rd
614 and not the new value.
615
431c33c0
UD
6161999-05-16 Xavier Leroy <Xavier.Leroy@inria.fr>
617
618 * manager.c: If pthread_create() is given a NULL attribute
619 and the thread manager runs with a realtime policy, set the
620 scheduling policy of the newly created thread back to SCHED_OTHER.
621 * manager.c: If the PTHREAD_INHERIT_SCHED attribute is given,
622 initialize the schedpolicy field of new_thread->p_start_args
623 to that of the calling thread.
624
2c68584c
UD
6251999-04-29 Ulrich Drepper <drepper@cygnus.com>
626
627 * sysdeps/sparc/sparc64/pt-machine.h (__compare_and_swap): cas
628 instruction does not allow memory element to use offset.
629
390500b1
UD
6301999-04-28 Ulrich Drepper <drepper@cygnus.com>
631
632 * manager.c (pthread_allocate_stack): Optimize initialization of new
633 thread descriptor.
634
89afc233
UD
635 * sysdeps/pthread/bits/libc-lock.h (__libc_lock_define_initialized):
636 Don't use initializer since it is all zeroes.
637 (__libc_once_define): Likewise.
638
1e76ce9c
UD
6391999-04-16 Andreas Jaeger <aj@arthur.rhein-neckar.de>
640
641 * sysdeps/arm/Implies: Removed since cmpxchg/no-cmpxchg
642 doesn't exist anymore.
643 * sysdeps/i386/Implies: Likewise.
644 * sysdeps/m68k/Implies: Likewise.
645 * sysdeps/mips/Implies: Likewise.
646 * sysdeps/powerpc/Implies: Likewise.
647 * sysdeps/sparc/sparc32/Implies: Likewise.
648 * sysdeps/sparc/sparc64/Implies: Likewise.
649
46a4682d
UD
6501999-04-15 Ulrich Drepper <drepper@cygnus.com>
651
652 * sysdeps/alpha/bits/semaphore.h: Removed.
653 * sysdeps/powerpc/bits/semaphore.h: Removed.
654 * sysdeps/pthread/cmpxchg/bits/semaphore.h: Removed.
655 * sysdeps/pthread/no-cmpxchg/bits/semaphore.h: Removed.
656 * Makefile (headers): Remove bits/semaphore.h.
657
658 * semaphore.h: Define _pthread_descr if necessary.
659 Don't include limits.h. Define SEM_VALUE_MAX directly.
660 Define SEM_FAILED.
661 (sem_t): Protect element names with leading __.
662 Add declarations for sem_close, sem_open, and sem_unlink.
663 * semaphore.c: Adjust all functions for new element names.
664 Define sem_close, sem_open, and sem_unlink.
665 * Versions (libthread): Add sem_close, sem_open, and sem_unlink for
666 GLIBC_2.1.1.
667 * sysdeps/pthread/bits/pthreadtypes.h: Define _pthread_descr only if
668 necessary.
669
ea48e2c4
UD
6701999-03-16 H.J. Lu <hjl@gnu.org>
671
672 * specific.c (pthread_key_delete): Check th->p_terminated to see
673 if the thread is running.
674
670af0d9
UD
675 * Versions (__libc_internal_tsd_get, __libc_internal_tsd_set):
676 Added to GLIBC_2.0 for libc.so.
677
0543cd26
UD
6781999-02-12 H.J. Lu <hjl@gnu.org>
679
680 * Versions (__libc_current_sigrtmin, __libc_current_sigrtmax,
681 __libc_allocate_rtsig): Added to GLIBC_2.1.
682
683 * internals.h (DEFAULT_SIG_RESTART): Removed.
684 (DEFAULT_SIG_CANCEL): Removed.
685
686 * pthread.c (init_rtsigs, __libc_current_sigrtmin,
687 __libc_current_sigrtmax, __libc_allocate_rtsig): New functions.
688 (__pthread_sig_restart, __pthread_sig_cancel,
689 __pthread_sig_debug): Initialized.
690 (pthread_initialize): Call init_rtsigs () to initialize
691 real-time signals.
692
f5492334
UD
6931999-02-03 H.J. Lu <hjl@gnu.org>
694
695 * manager.c (__pthread_manager): Do block __pthread_sig_debug.
696 Don't restart the thread which sent REQ_DEBUG.
697 (pthread_start_thread): Check if __pthread_sig_debug > 0
698 before debugging.
699
700 * pthread.c (__pthread_initialize_manager): Suspend ourself
701 after sending __pthread_sig_debug to gdb instead of
702 __pthread_sig_cancel.
703
8f0302ee
UD
7041999-01-24 H.J. Lu <hjl@gnu.org>
705
706 * manager.c (__pthread_manager): Delete __pthread_sig_debug
707 from mask if __pthread_sig_debug > 0.
708 (pthread_handle_create): Increment __pthread_handles_num.
709
710 * manager.c (pthread_handle_create): Don't pass CLONE_PTRACE to clone.
711 * pthread.c (__pthread_initialize_manager): Likewise.
712
713 * pthread.c (pthread_initialize): Use __libc_allocate_rtsig (1)
714 instead of __libc_allocate_rtsig (2).
715 (__pthread_initialize_manager): Send __pthread_sig_debug to gdb
716 instead of __pthread_sig_cancel.
717 (pthread_handle_sigdebug): Fix comments.
718
82df2969
UD
7191999-01-21 Ulrich Drepper <drepper@cygnus.com>
720
721 * manager.c (pthread_allocate_stack): Set
722 __pthread_nonstandard_stacks if user-specified stack is used.
723
482eec0d
UD
7241999-01-16 Ulrich Drepper <drepper@cygnus.com>
725
726 * sysdeps/unix/sysv/linux/bits/posix_opt.h: Add _LFS_ASYNCHRONOUS_IO,
727 _LFS_LARGEFILE, _LFS64_LARGEFILE, and _LFS64_STDIO from Unix98.
728
b92ad8d6
UD
7291999-01-07 Xavier Leroy <Xavier.Leroy@inria.fr>
730
731 * pthread.c: Use a third signal __pthread_sig_debug distinct
732 from __pthread_sig_cancel to notify gdb when a thread is
733 created
734 * manager.c: Likewise.
735 * internals.h: Likewise.
736 * signals.c: The implementation of sigwait(s) assumed that
737 all signals in s have signal handlers already attached.
738 This is not required by the standard, so make it work
739 also if some of the signals have no handlers.
740
34992338
UD
7411999-01-05 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
742
743 * linuxthreads.texi: Remove pointers from first @node. Move old
744 @node spec inside comment.
745
118bad87
UD
7461998-12-31 Ulrich Drepper <drepper@cygnus.com>
747
748 * sysdeps/pthread/bits/stdio-lock.h: Define _IO_lock_lock and
749 _IO_lock_unlock.
750
c046e7a5
UD
7511998-12-29 Ulrich Drepper <drepper@cygnus.com>
752
753 * semaphore.c (sem_trywait): Don't forget to unlock the semaphore
754 lock. Patch by Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>.
755
361d49e6
UD
7561998-12-21 Ulrich Drepper <drepper@cygnus.com>
757
758 * manager.c: Threads now send __pthread_sig_cancel on termination.
759 Change clone call and signal masks.
760 * thread.c (pthread_handle_sigrestart): Remove special code for
761 manager.
762 (pthread_handle_sigcancel): In manager thread call
763 __pthread_manager_sighandler.
764 * sysdeps/i386/pt-machine.h (__compare_and_swap): Add memory clobber.
765 * sysdeps/i386/i686/pt-machine.h: Likewise.
766 Patches by Xavier Leroy.
767
4260bc74
UD
7681998-12-14 Ulrich Drepper <drepper@cygnus.com>
769
361d49e6 770 * spinlock.c (__pthread_unlock): Don't crash if called for an
fbaf6e72
UD
771 untaken mutex. Reported by Ruslan V. Brushkoff <rus@Snif.Te.Net.UA>.
772
4260bc74
UD
773 * Examples/ex6.c: Unbuffer stdout and reduce sleep time to reduce
774 overall runtime.
775
e3743e2f
UD
7761998-12-13 Ulrich Drepper <drepper@cygnus.com>
777
778 * Examples/ex3.c: Wait until all threads are started before
779 searching for the number to avoid race condition on very fast
780 systems.
781
8632b240
UD
7821998-12-08 Andreas Jaeger <aj@arthur.rhein-neckar.de>
783
784 * sysdeps/pthread/pthread.h: Remove __pthread_setcanceltype
2eda5d9b 785 declaration since it's not needed.
8632b240
UD
786
787 * sysdeps/pthread/pthread.h: Move internal functions to ...
788 * internals.h: ...here.
789
a6ff34d7
UD
7901998-12-02 H.J. Lu <hjl@gnu.org>
791
792 * pthread.c (__pthread_sig_restart): Initiliaze to 0 if
793 SIGRTMIN is defined.
794 (__pthread_sig_cancel): Likewise.
795
628a0aa1
UD
7961998-12-01 Andreas Jaeger <aj@arthur.rhein-neckar.de>
797
798 * wrapsyscall.c: Include <sys/mman.h> for msync,
799 <stdlib.h> for system and <termios.h> for tcdrain prototype.
800 Correct msync declaration.
801
348ed515
UD
8021998-11-29 Roland McGrath <roland@baalperazim.frob.com>
803
804 * sysdeps/pthread/bits/libc-tsd.h (__libc_tsd_define, __libc_tsd_get,
805 __libc_tsd_set): New macros for new interface.
806 * no-tsd.c: New file, provide uninitialized defns of
807 __libc_internal_tsd_get and __libc_internal_tsd_set.
808 * Makefile (routines): Add no-tsd.
809
8101998-10-12 Roland McGrath <roland@baalperazim.frob.com>
811
812 * internals.h: Include <bits/libc-tsd.h>, not <bits/libc-lock.h>.
813 * sysdeps/pthread/bits/libc-lock.h (__libc_internal_tsd_get,
814 __libc_internal_tsd_set): Move decls to ...
815 * sysdeps/pthread/bits/libc-tsd.h: New file for __libc_internal_tsd_*
816 declarations.
817
818 * sysdeps/pthread/bits/libc-lock.h (__libc_internal_tsd_get,
819 __libc_internal_tsd_set): Make these pointers to functions, not
820 functions; remove #pragma weak decls for them.
821 * specific.c (__libc_internal_tsd_get, __libc_internal_tsd_set):
822 Define static functions and initialized pointers to them.
823
97dac76c
UD
8241998-11-18 Ulrich Drepper <drepper@cygnus.com>
825
826 * Makefile (CFLAGS-mutex.c): Define as -D__NO_WEAK_PTHREAD_ALIASES.
827 (CFLAGS-specific.c): Likewise.
828 (CFLAGS-pthread.c): Likewise.
829 (CFLAGS-ptfork.c): Likewise.
830 (CFLAGS-cancel.c): Likewise.
831 * sysdeps/pthread/bits/libc-lock.h: Don't mark __pthread_* functions
832 as weak references if __NO_WEAK_PTHREAD_ALIASES is defined.
833
834 * mutex.c (pthread_mutex_init): Define as strong symbol.
835 (pthread_mutex_destroy): Likewise.
836 (pthread_mutex_trylock): Likewise.
837 (pthread_mutex_lock): Likewise.
838 (pthread_mutex_unlock): Likewise.
839 (pthread_mutexattr_init): Likewise.
840 (pthread_mutexattr_destroy): Likewise.
841 (pthread_once): Likewise.
842 * ptfork.c (pthread_atfork): Likewise.
843 * specific.c (pthread_key_create): Likewise.
844 (pthread_setspecific): Likewise.
845 (pthread_getspecific): Likewise.
846
8b7fb588
UD
8471998-11-15 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
848
849 * linuxthreads.texi: Fix punctuation after xref.
850
d2537a47
UD
8511998-11-10 H.J. Lu <hjl@gnu.org>
852
853 * sysdeps/unix/sysv/linux/bits/local_lim.h: Undefine NR_OPEN
854 if it is defined in <linux/limits.h>.
855
d5cabaa4
UD
8561998-10-29 14:28 Ulrich Drepper <drepper@cygnus.com>
857
858 * spinlock.h (__pthread_trylock): Define inline.
859 (__pthread_lock): Add extra parameter to declaration. Declare
860 using internal_function.
861 (__pthread_unlock): Declare using internal_function.
862 * spinlock.c (__pthread_lock): Add new parameter. Use it instead
863 of local variable self. Avoid recomputing self. Define using
864 internal_function.
865 (__pthread_trylock): Remove.
866 (__pthread_unlock): Define using internal_function.
867 * cancel.c: Adjust for __pthread_lock interface change. Use already
868 computed self value is possible.
869 * condvar.c: Likewise.
870 * join.c: Likewise.
871 * manager.c: Likewise.
872 * mutex.c: Likewise.
873 * pthread.c: Likewise.
874 * rwlock.c: Likewise.
875 * semaphore.c: Likewise.
876 * signals.c: Likewise.
877
c70ca1fa
UD
8781998-10-27 13:46 Ulrich Drepper <drepper@cygnus.com>
879
880 * sysdeps/pthread/pthread.h (struct _pthread_cleanup_buffer): Prepend
881 __ to field names of the struct.
882 * sysdeps/pthread/bits/pthreadtypes.h (struct _pthread_fastlock):
883 Likewise.
884 (pthread_attr_t): Likewise.
885 (pthread_cond_t): Likewise.
886 (pthread_condattr_t): Likewise.
887 (pthread_mutex_t): Likewise.
888 (pthread_mutexattr_t): Likewise.
889 (pthread_rwlock_t): Likewise.
890 (pthread_rwlockattr_t): Likewise.
891 * attr.c: Adjust for pthread.h and pthreadtypes.h change.
892 * cancel.c: Likewise.
893 * condvar.c: Likewise.
894 * manager.c: Likewise.
895 * mutex.c: Likewise.
896 * pthread.c: Likewise.
897 * ptlongjmp.c: Likewise.
898 * rwlock.c: Likewise.
899 * spinlock.c: Likewise.
900
a5d1d726
UD
9011998-10-09 Ulrich Drepper <drepper@cygnus.com>
902
7ccc548b
UD
903 * sysdeps/i386/pt-machine.h (get_eflags, set_eflags): Mark these
904 also with PT_EI.
905
a5d1d726
UD
906 * sysdeps/i386/i686/pt-machine.h: Remove unused inline
907 definitions.
908
9a29bc37
UD
909 * Makefile (libpthread-routines): Add pt-machine.
910 * pt-machine.c: New file.
911 * sysdeps/alpha/pt-machine.h: Define PT_EI as extern inline is not
912 yet defined. Use PT_EI in extern inline definitions.
913 * sysdeps/arm/pt-machine.h: Likewise.
914 * sysdeps/i386/pt-machine.h: Likewise.
915 * sysdeps/i386/i686/pt-machine.h: Likewise.
916 * sysdeps/m68k/pt-machine.h: Likewise.
917 * sysdeps/mips/pt-machine.h: Likewise.
918 * sysdeps/powerpc/pt-machine.h: Likewise.
919 * sysdeps/sparc/sparc32/pt-machine.h: Likewise.
920 * sysdeps/sparc/sparc64/pt-machine.h: Likewise.
921
c10bb795
UD
9221998-10-02 Andreas Jaeger <aj@arthur.rhein-neckar.de>
923
924 * semaphore.h: Include <sys/types.h> so that _pthread_descr
925 is declared.
926
9271998-09-15 David S. Miller <davem@pierdol.cobaltmicro.com>
928
929 * sysdeps/sparc/sparc32/pt-machine.h (INIT_THREAD_SELF): Add nr
930 argument.
931 * sysdeps/sparc/sparc64/pt-machine.h (INIT_THREAD_SELF): Likewise.
932
9331998-09-12 14:24 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu>
934
935 * linuxthreads/sysdeps/unix/sysv/linux/bits/sigthread.h: Add
936 multiple inclusion guard.
937
5e0889da
UD
9381998-09-02 11:08 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
939
940 * signals.c (sigaction): Check that sig is less than NSIG to avoid
941 array index overflow.
942
6796bc80
UD
9431998-09-06 10:56 Ulrich Drepper <drepper@cygnus.com>
944
945 * sysdeps/pthread/semaphore.h: New file.
946
be935610
UD
9471998-09-06 09:08 Ulrich Drepper <drepper@cygnus.com>
948
949 * sysdeps/pthread/bits/libc-lock.h (enum __libc_tsd_key_t): Add
950 _LIBC_TSD_KEY_DL_ERROR.
951
bfce746a
UD
9521998-08-31 Ulrich Drepper <drepper@cygnus.com>
953
7afab53d 954 * sysdeps/i386/i686/pt-machine.h (testandset): Add memory clobber.
6a805a0b 955 * sysdeps/i386/pt-machine.h: Likewise.
bfce746a
UD
956 Suggested by Roland McGrath.
957
75311719
UD
9581998-08-28 13:58 Ulrich Drepper <drepper@cygnus.com>
959
960 * internals.h: Also define THREAD_GETMEM_NC and THREAD_SETMEM_NC to
961 access thread data with non-constant offsets.
962 * specific.c: Use THREAD_GETMEM_NC and THREAD_SETMEM_NC where
963 necessary.
964
965 * sysdeps/i386/useldt.h: Fix typo. Add THREAD_GETMEM_NC and
966 THREAD_SETMEM_NC definitions.
967
968 * sysdeps/sparc/sparc32/pt-machine.h: Define THREAD_GETMEM_NC and
969 THREAD_SETMEM_NC.
970 * sysdeps/sparc/sparc64/pt-machine.h: Likewise.
971
00a2f9aa
UD
9721998-08-26 15:46 Ulrich Drepper <drepper@cygnus.com>
973
974 * internals.h: Define THREAD_GETMEM and THREAD_SETMEM to default if
975 not already defined.
976 (struct _pthread_descr_struct): Add p_self and p_nr field.
977 * manager.c (__pthread_handles): Define second element to point
978 to manager thread.
979 (__pthread_handles_num): Initialize to 2.
980 (__pthread_manager): Use INIT_THREAD_SELF with two arguments.
981 (pthread_start_thread): Likewise.
982 (pthread_handle_create): Start search for free slot at entry 2.
983 Initialize new fields p_self and p_nr.
984 Call __clone with CLONE_PTRACE if available.
985 (pthread_free): Call FREE_THREAD_SELF if available.
986 * pthread.c (__pthread_initial_thread): Initialize new fields.
987 (__pthread_manager_thread): Likewise.
988 (__pthread_initialize_manager): Call __clone with CLONE_PTRACE.
989
990 * cancel.c: Use THREAD_GETMEM and THREAD_SETMEM to access the
991 elements of the thread descriptor.
992 * condvar.c: Likewise.
993 * errno.c: Likewise.
994 * join.c: Likewise.
995 * manager.c: Likewise.
996 * pthread.c: Likewise.
997 * ptlongjmp.c: Likewise.
998 * semaphore.c: Likewise.
999 * signals.c: Likewise.
1000 * specific.c: Likewise.
1001 * spinlock.c: Likewise.
1002
1003 * sysdeps/alpha/pt-machine.h (INIT_THREAD_SELF): Add extra parameter.
1004
1005 * sysdeps/i386/useldt.h: New file.
1006 * sysdeps/i386/i686/pt-machine.h: Show how to use this file.
1007
1008 * sysdeps/sparc/sparc32/pt-machine.h: Define THREAD_GETMEM and
1009 THREAD_SETMEM using __thread_self.
1010 * sysdeps/sparc/sparc64/pt-machine.h: Likewise.
1011
ed1ac6a2
UD
10121998-08-24 Geoff Keating <geoffk@ozemail.com.au>
1013
1014 * spinlock.c (__pthread_lock): Reset p_nextwaiting to NULL if it
1015 turned out that we didn't need to queue after all.
1016
10171998-08-22 Geoff Keating <geoffk@ozemail.com.au>
1018
1019 * sysdeps/powerpc/pt-machine.h: Remove testandset, it's not used
1020 and wastes space; correct types.
1021
cf0fd016
UD
10221998-08-08 11:18 H.J. Lu <hjl@gnu.org>
1023
1024 * signals.c (sigaction): Handle NULL argument.
1025
d358336f
UD
10261998-08-04 Ulrich Drepper <drepper@cygnus.com>
1027
1028 * sysdeps/unix/sysv/linux/bits/sigthread.h: Use __sigset_t instead
1029 of sigset_t.
1030
7cabd57c
UD
10311998-08-02 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1032
1033 * Makefile (linuxthreads-version): Extract correct number from
1034 Banner.
1035
ddbf7fef
UD
10361998-07-29 Xavier Leroy <Xavier.Leroy@inria.fr>
1037
1038 * Banner: Bump version number to 0.8
1039 * FAQ.html: Many updates, in particular w.r.t. debugging.
1040 * manager.c: Support for non-default stacksize for
1041 LinuxThreads-allocated stacks;
1042 don't use guard pages for stacks with default size, rely on
1043 rlimit(RLIMIT_STACK) instead (it's cheaper).
1044 * attr.c: Likewise.
1045 * cancel.c: Use __pthread_sig_cancel and __pthread_sig_restart
1046 everywhere instead of PTHREAD_SIG_CANCEL and PTHREAD_SIG_RESTART.
1047 * condvar.c: Likewise.
1048 * internals.h: Likewise.
1049 * restart.h: Likewise.
1050 * signals.c: Likewise.
1051 * pthread.c: Likewise; set rlimit(RLIMIT_STACK) as we need it.
1052
6c202c68
UD
10531998-07-23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1054
1055 * weaks.c: Define pthread_mutexattr_[sg]ettype instead of
1056 __pthread_mutexattr_[sg]ettype. Add more weak aliases.
1057 * Versions: Put __pthread_mutexattr_settype under version
1058 GLIBC_2.0. Don't export __pthread_mutexattr_setkind_np and
1059 __pthread_mutexattr_gettype.
1060
10611998-07-23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1062
1063 * sysdeps/pthread/bits/libc-lock.h: Make
1064 __pthread_mutexattr_settype weak. Don't make
1065 __pthread_mutexattr_setkind_np weak.
1066
50304ef0
UD
10671998-07-16 10:52 Ulrich Drepper <drepper@cygnus.com>
1068
1069 * manager.c (pthread_handle_create): Check whether sched_setscheduler
1070 call can succeed here.
1071
1072 * mutex.c: Define __pthread_mutexattr_settype and make
1073 __pthread_mutexattr_setkind_np an alias.
1074 Likewise for __pthread_mutexattr_gettype.
1075
10761998-07-15 11:00 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu>
1077
1078 * attr.c (pthread_attr_setschedpolicy): Don't check whether caller
1079 is root.
1080
c764b9a7
UD
10811998-07-14 19:38 Ulrich Drepper <drepper@cygnus.com>
1082
1083 * sysdeps/pthread/bits/libc-lock.h: Define __libc_cleanup_end.
1084
ceb27555
UD
10851998-07-11 Andreas Jaeger <aj@arthur.rhein-neckar.de>
1086
1087 * Examples/ex6.c: Include <unistd.h> for usleep.
1088
b1209f90
UD
10891998-06-13 11:04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1090
1091 * Examples/ex4.c (main): Use exit, not pthread_exit.
1092
6077fe6e
UD
10931998-07-09 13:39 Ulrich Drepper <drepper@cygnus.com>
1094
1095 * Versions: Add __pthread_mutexattr_gettype and
1096 __pthread_mutexattr_settype.
1097 * lockfile.c: Use __pthread_mutexattr_settype instead of
1098 __pthread_mutexattr_setkind_np.
1099 * mutex.c: Define __pthread_mutexattr_gettype and
1100 __pthread_mutexattr_settype.
1101 * weak.c: Likewise.
e918a7fe
UD
1102 * sysdeps/pthread/pthread.h: Declare __pthread_mutexattr_gettype and
1103 __pthread_mutexattr_settype.
1104 * sysdeps/pthread/bits/libc-lock.h (__libc_lock_init_recursive):
1105 Use __pthread_mutexattr_settype.
6077fe6e 1106
4bae5567
UD
11071998-07-08 22:26 Ulrich Drepper <drepper@cygnus.com>
1108
1109 * Versions: Add pthread_mutexattr_gettype, pthread_mutexattr_settype.
1110 * mutex.c: Define weak alias pthread_mutexattr_gettype and
1111 pthread_mutexattr_settype.
1112 * sysdeps/pthread/pthread.h: Declare these functions.
1113 Move pthread_sigmask and pthread_kill declaration in separate header.
1114 * sysdeps/unix/sysv/linux/bits/sigthread.h: New file.
1115
0302fece
UD
11161998-07-07 15:20 Ulrich Drepper <drepper@cygnus.com>
1117
1118 * Makefile: Add rules to compile and run tests.
1119 * Examples/ex1.c: Little changes to fix warnings.
1120 * Examples/ex2.c: Likewise.
1121 * Examples/ex3.c: Likewise.
1122 * Examples/ex4.c: Likewise.
1123 * Examples/ex5.c: Likewise.
1124 * Examples/ex6.c: New file.
1125
77ccaba1
UD
11261998-07-05 11:54 Ulrich Drepper <drepper@cygnus.com>
1127
6777b467 1128 * Versions: Add pthread_attr_init to GLIBC_2.1 version in libc.
77ccaba1 1129
ba9234d9
UD
11301998-07-01 Andreas Jaeger <aj@arthur.rhein-neckar.de>
1131
1132 * attr.c: Include <string.h>.
1133
d64fae6a
UD
11341998-06-30 11:47 Ulrich Drepper <drepper@cygnus.com>
1135
1136 * attr.c: Include errno.h. Use memcpy to copy sched_param.
1137 * internals.h: Include limits.h.
1138 * manager.c: Use memcpy to copy sched_param.
1139 * ptfork.c: Include errno.h.
1140 * pthread.c: Likewise.
1141 * semaphore.c: Likewise.
1142 * specific.c: Likewise.
1143 * spinlock.h: Likewise.
1144 * sysdeps/pthread/pthread.h: Include only allowed headers. Move
1145 type definition to ...
1146 * sysdeps/pthread/bits/pthreadtypes.h: ...here. New file.
1147
fdacb17d
UD
11481998-06-29 12:34 Ulrich Drepper <drepper@cygnus.com>
1149
1150 * sysdeps/pthread/pthread.h: Use __PMT not __P for function pointers.
1151
1152 * sysdeps/pthread/pthread.h: Define various PTHREAD_* symbols also
1153 as macros as demanded in POSIX.1, Annex C.
1154
11551998-06-29 12:29 Ulrich Drepper <drepper@cygnus.com>
1156
1157 * internals.h (struct pthread_request): For free use pthread_t
1158 instead of pthread_descr.
1159 * join.c (pthread_join): Pass thread_id, not th to manager.
1160 (pthread_detach): Likewise.
1161 * manager.c (__pthread_manager): Except thread ID in FREE_REQ case.
1162 (pthread_exited): Remove detached queue code.
1163 (pthread_handle_free): Expect thread ID parameter and use it to
1164 validate the thread decsriptor. Don't use detached queue.
1165 Patches by Xavier Leroy.
1166
11671998-06-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1168
1169 * libpthread.map: Export accept, longjmp, sigaction, siglongjmp,
1170 _IO_flockfile, _IO_ftrylockfile, _IO_funlockfile,
1171 __pthread_atfork, __pthread_key_create, __pthread_once.
1172 * internals.h: Doc fix.
1173 * pthread.c (__pthread_initialize): Define again.
1174
e138a800
UD
11751998-06-26 Ulrich Drepper <drepper@cygnus.com>
1176
026d5011
UD
1177 * manager.c (pthread_exited): If thread is not detached put it on
1178 special list.
1179 (pthread_handle_free): If thread is not on list with living threads
1180 search on list with detached threads.
1181
b195f6bc
UD
1182 * sysdeps/pthread/pthread.h (PTHREAD_RWLOCK_INITIALIZER): Correct
1183 for new definition of pthread_rwlock_t.
1184
e138a800
UD
1185 * spinlock.c: Correct test whether to compile
1186 __pthread_compare_and_swap or not.
1187
3387a425
UD
11881998-06-25 19:27 Ulrich Drepper <drepper@cygnus.com>
1189
1190 * attr.c: Finish user stack support. Change locking code to be safe
1191 in situations with different priorities.
1192 * cancel.c: Likewise.
1193 * condvar.c: Likewise.
1194 * internals.h: Likewise.
1195 * join.c: Likewise.
1196 * manager.c: Likewise.
1197 * mutex.c: Likewise.
1198 * pthread.c: Likewise.
1199 * ptlongjmp.c: Likewise.
1200 * queue.h: Likewise.
1201 * rwlock.c: Likewise.
1202 * semaphore.c: Likewise.
1203 * semaphore.h: Likewise.
1204 * signals.c: Likewise.
1205 * spinlock.c: Likewise.
1206 * spinlock.h: Likewise.
75c3a84f 1207 * sysdeps/pthread/pthread.h: Likewise.
df4099e8 1208 Patches by Xavier Leroy.
3387a425 1209
0ca7e46e 1210 * sysdeps/i386/i686/pt-machine.h: New file.
75c3a84f 1211
3387a425
UD
12121998-06-25 Ulrich Drepper <drepper@cygnus.com>
1213
1214 * sysdeps/pthread/pthread.h: Make [sg]et_stacksize and
1215 [sg]et_stackaddr prototypes always available.
1216
1217 * sysdeps/unix/sysv/linux/bits/posix_opt.h: Define
1218 _POSIX_THREAD_ATTR_STACKSIZE and _POSIX_THREAD_ATTR_STACKADDR.
1219
d47aac39
UD
12201998-06-24 Ulrich Drepper <drepper@cygnus.com>
1221
1222 * manager.c (pthread_free): Undo patch from 980430.
1223 Reported by David Wragg <dpw@doc.ic.ac.uk>.
1224
69f234e8
UD
12251998-06-09 15:07 Ulrich Drepper <drepper@cygnus.com>
1226
1227 * manager.c: Define __pthread_manager_adjust_prio and use it to
1228 increase priority when needed.
1229 * internals.h: Add prototype for __pthread_manager_adjust_prio.
1230 * mutex.c: Optimize mutexes to wake up only one thread.
768cbca8 1231 * pthread.c: Move PID of manager for global variable in structure
69f234e8
UD
1232 element.
1233 Patches by Xavier Leroy.
1234
c0fb8a56
UD
12351998-06-07 13:47 Ulrich Drepper <drepper@cygnus.com>
1236
1237 * sysdeps/pthread/bits/libc-lock.h: Optimize cleanup handlers a bit.
1238
c6bd526f
UD
12391998-06-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
1240
1241 * attr.c: Correct typo.
1242
f9119f49
UD
12431998-05-01 Ulrich Drepper <drepper@cygnus.com>
1244
1245 * manager.c (pthread_free): Unmap guard before the stack.
1246 Patch by Matthias Urlichs.
1247
3dd2c3e2
UD
12481998-04-30 Ulrich Drepper <drepper@cygnus.com>
1249
1250 * manager.c (pthread_free): Detect already free child.
1251 Patch by Xavier Leroy, reported by Matthias Urlichs.
1252
0111b224
UD
12531998-04-23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1254
1255 * Makefile (linuxthreads-version): Renamed back from
1256 libpthread-version.
1257
f12944ec
UD
12581998-04-21 Ulrich Drepper <drepper@cygnus.com>
1259
26e119f1 1260 * ptlongjmp.c: Add prototypes for __libc_siglongjmp and
f12944ec
UD
1261 __libc_longjmp.
1262
8619129f
UD
12631998-04-20 14:55 Ulrich Drepper <drepper@cygnus.com>
1264
1265 * Makefile (libpthread-routines): Add ptlongjmp and spinlock.
1266 * internals.h: Add definitions for new spinlock implementation.
1267 * ptlongjmp.c: New file.
1268 * spinlock.c: New file.
1269 * spinlock.h (acquire): Don't reschedule using __sched_yield, use
1270 new function __pthread_acquire to prevent deadlocks with thread
1271 with different priorities.
1272 Patches by Xavier Leroy <Xavier.Leroy@inria.fr>.
1273
52cda958
UD
12741998-03-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1275
1276 * manager.c (__pthread_manager): Reduce first argument to select
1277 to include just the needed file descriptor.
1278
48fc3dd2
UD
12791998-03-17 00:06 Ulrich Drepper <drepper@cygnus.com>
1280
1281 * manager.c: Fix last patch which caused core dumps.
1282
1283 * pthread.c: Correctly handle missing SIGRTMIN.
1284
f649c201
UD
12851998-03-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1286
1287 * libpthread.map: Add __libc_internal_tsd_get and
1288 __libc_internal_tsd_set. Add missing cancelable functions. Export
1289 libc internal versions of the cancelable functions.
1290
14c44e2e
UD
12911998-03-13 16:51 Ulrich Drepper <drepper@cygnus.com>
1292
1293 * weaks.c: Define pthread_attr_init as GLIBC_2.0 and GLIBC_2.1.
1294
5d409851
UD
12951998-03-13 00:46 Ulrich Drepper <drepper@cygnus.com>
1296
1297 * attr.c: Implement pthread_attr_[gs]etguardsize,
1298 pthread_attr_[gs]setstackaddr, pthread_attr_[gs]etstacksize.
1299 Change pthread_attr_init to have two interfaces.
1300 * internals.h (struct _pthread_descr_struct): Add new fields for
1301 above functions.
1302 * libpthread.map: Add names in GLIBC_2.1 section.
1303 * manager.c (pthread_handle_create): Implement guardsize and
1304 user stack.
1305 (pthread_free): Likewise.
1306 * pthread.c (pthread_create): Add new interface for changed
1307 pthread_attr_t.
1308 * sysdeps/pthread/pthread.h: Add prototypes for new functions.
1309 * sysdeps/unix/sysv/linux/bits/local_lim.h: Add definition of
1310 PTHREAD_STACK_MIN.
1311
5afdca00
UD
13121998-03-11 00:42 Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>
1313
5d409851
UD
1314 * manager.c: Enable resetting of the thread scheduling policy
1315 to SCHED_OTHER when the parent thread has a different one.
5afdca00
UD
1316
13171998-02-01 13:51 Ulrich Drepper <drepper@cygnus.com>
1318
1319 * sysdeps/unix/sysv/linux/bits/posix_opt.h: Define
1320 _POSIX_ASYNCHRONOUS_IO.
1321
1322 * sysdeps/pthread/pthread.h: Define bits for Unix98 variants of
1323 mutexes.
1324 * mutex.c: Implement new mutex types.
1325
1326 * internals.h: Include <signal.h>.
1327
1328 * libpthread.map: Add __erno_location and __h_errno_location.
1329
1330 * errno.c: Return pointer to variable actually in use. This might
1331 not be the one in the thread structure.
1332 * internals.h (struct _pthread_descr_struct): Add new fields p_errnop
1333 and p_h_errnop.
1334 * manager.c (__pthread_manager): Set p_errnop and p_h_errnop member
1335 of manager thread structure.
1336 (pthread_handle_create): Set p_errnop and p_h_errnop members for new
1337 thread.
1338 * pthread.c: Adapt initializer for thread structures.
1339 (__pthread_initial_thread): Set p_errnop and p_h_errnop member.
1340 (__pthread_reset_main_thread): Reset p_errnop and p_h_errnop of
1341 current thread to global variables.
1342
13431998-01-31 17:27 Ulrich Drepper <drepper@cygnus.com>
1344
1345 * rwlock.c: New file.
1346 * Makefile (libpthread-routines): Add rwlock.
1347 * sysdeps/pthread/pthread.h: Define data structures and declare
1348 functions.
1349 * libpthread.map: Add new functions.
1350
13511997-12-18 13:50 Philip Blundell <pb@nexus.co.uk>
1352
1353 * sysdeps/arm/pt-machine.h: New file; add ARM support.
1354 * sysdeps/arm/Implies: likewise.
1355 * README: Document it.
1356
13571997-12-13 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1358
1359 * signals.c: Remove unneeded initializer for sigwaited, saving a
1360 warning.
1361
13621997-04-11 01:18 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1363
1364 * semaphore.c (sem_init): Set sem_spinlock only if available.
1365
13661997-12-04 01:48 Ulrich Drepper <drepper@cygnus.com>
1367
1368 * mutex.c: Implement PTHREAD_MUTEX_CHECKERROR.
1369 * sysdeps/pthread/pthread.h: Define PTHREAD_MUTEX_CHECKERROR.
1370
1371 * Makefile: Update from LinuxThreads 0.7.
1372 * internals.h. Likewise.
1373 * manager.c: Likewise.
1374 * mutex.c: Likewise.
1375 * pthread.c: Likewise.
1376 * signals.c: Likewise.
1377 * specific.c: Likewise.
1378 * Examples/ex3.c: Likewise.
1379
13801997-11-20 18:13 Ulrich Drepper <drepper@cygnus.com>
1381
1382 * pthread.c (__pthread_reset_main_thread): Close pipe only if still
1383 open.
1384
13851997-10-29 05:38 Ulrich Drepper <drepper@cygnus.com>
1386
1387 * wrapsyscall.c: Add socket functions which are also cancelation
1388 points.
1389
13901997-10-19 21:40 Wolfram Gloger <wg@wolfram.dent.med.uni-muenchen.de>
1391
1392 * specific.c (__libc_internal_tsd_set, __libc_internal_tsd_get):
1393 New functions for fast thread specific data within libc.
1394
1395 * internals.h: Add new array p_libc_specific to struct
1396 _pthread_descr_struct.
1397
1398 * sysdeps/pthread/bits/libc-lock.h: Declare new functions.
1399
14001997-10-13 05:39 Ulrich Drepper <drepper@cygnus.com>
1401
1402 * semaphore.h: Add __BEGIN_DECLS/__END_DECLS.
1403 Reported by Ralf Corsepius <corsepiu@faw.uni-ulm.de>.
1404
14051997-08-29 03:05 Ulrich Drepper <drepper@cygnus.com>
1406
1407 * internals.h (struct _pthread_descr_struct): Add definitions for
1408 two-level specific key handling.
1409 * manager.c (pthread_handle_create): Initialize specific memory array.
1410 * specific.c: Implement two-level key handling.
1411 * weaks.c: Don't provide dummy key handling.
1412 * sysdeps/pthread/bits/libc-lock.h: Typedef __libc_lock_t (no #define).
1413 Add definition of __libc_key_t.
1414 * sysdeps/unix/sysv/linux/bits/local_lim.h: Define PTHREAD_KEYS_MAX
1415 as 1024.
1416 Add definition of _POSIX_THREAD_DESTRUCTOR_ITERATIONS and
1417 PTHREAD_DESTRUCTOR_ITERATIONS.
1418
1419 * manager.c (pthread_handle_create): Compare mmap result with
1420 MAP_FAILED.
1421
1422 * ptfork.c: Rename to __pthread_atfork and make old name a weak alias.
1423 * sysdeps/pthread/bits/pthread.h: Add prototype for __pthread_atfork.
1424
14251997-08-22 19:04 Richard Henderson <rth@cygnus.com>
1426
1427 sysdeps/sparc -> sysdeps/sparc/sparc32
1428 sysdeps/sparc64 -> sysdeps/sparc/sparc64
1429
1430 * internals.h: Change definition of THREAD_SELF to be an expression,
1431 not a statement that did a return.
1432 * sysdeps/alpha/pt-machine.h (THREAD_SELF): Update accordingly.
1433 * sysdeps/sparc/sparc32/pt-machine.h (THREAD_SELF, INIT_THREAD_SELF):
1434 Follow Solaris and use a "system reserved" register (%g6) to hold
1435 the thread descriptor.
1436 * sysdeps/sparc/sparc64/pt-machine.h: Likewise.
1437
14381997-08-03 00:09 Ulrich Drepper <drepper@cygnus.com>
1439
1440 * mutex.c: Correct pthread_once. Patch by Xavier Leroy.
1441 * sysdeps/pthread/pthread.h: Add prototype for __pthread_once.
1442 * sysdeps/pthread/bits/pthread.h: Add macros for __libc_once.
1443
1444 * semaphore.c: Include spinlock.h only when needed.
1445
1446 * specific.c (__pthread_setsepcific, __pthread_getspecific): Reject
1447 keys for entries not in use.
1448
1449 * weaks.c: Implement key handling functions for real.
1450
14511997-06-29 01:04 Richard Henderson <richard@gnu.ai.mit.edu>
1452
1453 Initial sparc64-linux support:
1454 * linuxthreads/sysdeps/sparc64/Implies: New file.
1455 * linuxthreads/sysdeps/sparc64/pt-machine.h: Likewise.
1456
14571997-06-29 00:48 Ulrich Drepper <drepper@cygnus.com>
1458
1459 * semaphore.c: Include spinlock.h at correct place.
1460 Patch by HJ Lu.
1461
14621997-06-13 10:06 Richard Henderson <rth@tamu.edu>
1463
1464 The Great Bit File Move:
1465 * sysdeps/alpha/semaphorebits.h: -> .../bits/semaphore.h.
1466 * sysdeps/powerpc/semaphorebits.h: Likewise.
1467 * sysdeps/pthread/cmpxchg/semaphorebits.h: Likewise.
1468 * sysdeps/pthread/no-cmpxchg/semaphorebits.h: Likewise.
1469 * sysdeps/pthread/libc-lock.h: -> bits/
1470 * sysdeps/pthread/stdio-lock.h: Likewise.
1471 * sysdeps/unix/sysv/linux/local_lim.h: Likewise.
1472 * sysdeps/unix/sysv/linux/posix_opt.h: Likewise.
1473 * semaphore.h: Likewise.
1474 * sysdeps/pthread/pthread.h: Likewise.
1475
1476 * lockfile.c: <foo.h> -> <bits/foo.h>.
1477 * semaphore.h: Likewise.
1478
1479 * Makefile: (headers): foo.h -> bits/foo.h.
1480 * sysdeps/pthread/Makefile: Likewise.
1481
14821997-04-11 01:18 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1483
1484 * semaphore.c (sem_init): Set sem_spinlock only if available.
1485
1486 * sysdeps/m68k/pt-machine.h (testandset, __compare_and_swap): Fix
1487 asm constraints.
1488
14891997-04-09 03:00 Ulrich Drepper <drepper@cygnus.com>
1490
1491 Update from LinuxThreads 0.6.
1492
1493 * attr.c (pthread_attr_getdetachstate): Use __sched_get_priority_max
1494 and __sched_get_priority_min instead of names without `__'.
1495
1496 * manager.c: Rewrite large parts to implement opaque pthread_t.
1497
1498 * cancel.c: Adapt for opaque pthread_t type.
1499 * condvar.c: Likewise.
1500 * errno.c: Likewise.
1501 * join.c: Likewise.
1502 * mutex.c: Likewise.
1503 * pthread.c: Likewise.
1504 * signals.c: Likewise.
1505 * specific.c: Likewise.
1506 * restart.h: Likewise.
1507 * queue.h: Likewise.
1508 * Examples/ex3.c: Likewise.
1509 * Examples/ex4.c: Likewise.
1510 * sysdeps/pthread/pthread.h: Likewise.
1511
1512 * pthread.c: Accumulate time for all threads in thread manager.
1513
1514 * semaphore.c: Implement fallback implementation for architectures
1515 sometimes missing compare-exchange operations.
1516
1517 * cancel.c (pthread_cancel): Validate handle argument.
1518 * join.c (pthread_join): Likewise.
1519 (pthread_detach): Likewise.
1520 * signals.c (pthread_kill): Likewise.
1521
1522 * spinlock.h (acquire): Use __sched_yield not sched_yield.
1523
1524 * queue.h (enqueue): Enqueue thread according to priority.
1525
1526 * internals.c (struct pthread_start_args): New struct for passing
1527 args to cloning function.
1528 (struct _pthread): Rename to _pthread_descr_struct and adapt for
1529 opaque pthread_t.
1530
1531 * Examples/Makefile (clean): Pass -f option to rm.
1532
1533 * sysdeps/i386/pt-machine.h: Add check for compare-exchange instruction
1534 and define TEST_FOR_COMPARE_AND_SWAP.
1535 * sysdeps/i386/i486/pt-machine.h: Removed.
1536
1537 * sysdeps/unix/sysv/linux/local_lim.h (PTHREAD_THREADS_MAX): Increase
1538 to 1024.
1539
15401997-04-04 16:38 Ulrich Drepper <drepper@cygnus.com>
1541
1542 * restart.h (suspend): Clear p_signal before suspending.
1543 (suspend_with_cancellation): Likewise.
1544 Patch by Xavier Leroy <Xavier.Leroy@inria.fr>.
1545
1546 * weaks.c: Make __pthread_key_create return 1.
1547 * sysdeps/pthread/libc-lock.h: Define __libc_key_create,
1548 __libc_getspecific, __libc_setspecific, and __libc_key_t.
1549 * sysdeps/pthread/stdio-lock.h: Don't care for implementation not
1550 using libio.
1551
15521997-03-19 15:13 Miguel de Icaza <miguel@nuclecu.unam.mx>
1553
1554 * sysdeps/sparc/pt-machine (RELEASE): Fix.
1555
15561997-03-01 07:55 Geoff Keating <geoffk@ozemail.com.au>
1557
1558 * sysdeps/powerpc/Implies: Added.
1559 * sysdeps/powerpc/pt-machine.h: Added.
1560 * sysdeps/powerpc/semaphorebits.h: Added.
1561
15621997-01-22 01:22 Ulrich Drepper <drepper@cygnus.com>
1563
1564 * linuxtheads/pthread.c (__pthread_initial_thread): Correct
1565 initializer.
1566 (__pthread_manager_thread): Likewise.
1567 Reported by Andreas Jaeger.
1568
15691997-01-18 22:15 Richard Henderson <rth@tamu.edu>
1570
1571 Since sigset_t no longer fits in a register, we can't pass in the
1572 thread's initial mask so easily. Take this opportunity to simplify
1573 the clone implementation by only accepting a single void* argument.
1574
1575 * linuxthreads/manager.c (__pthread_manager): Put thread vitals
1576 in the thread struct instead of as arguments through clone.
1577 (pthread_start_thread): Look for them there.
1578 * linuxthreads/internals.h (struct _pthread): Add p_initial_fn,
1579 p_initial_fn_arg, p_initial_mask. Fix __pthread_manager proto.
1580 * linuxthreads/pthread.c (pthread_initialize_manager): Revise
1581 clone invocation.
This page took 0.251249 seconds and 5 git commands to generate.