]> sourceware.org Git - glibc.git/blame - linuxthreads/ChangeLog
* semaphore.c (sem_timedwait): New function.
[glibc.git] / linuxthreads / ChangeLog
CommitLineData
1edf26ff
UD
12000-03-26 Ulrich Drepper <drepper@redhat.com>
2
3 * semaphore.c (sem_timedwait): New function.
4 Patch by Carl Mailloux <carlm@oricom.ca>.
5 * semaphore.h: Declare sem_timedwait.
6
54f6cbb3
RM
72000-03-26 Roland McGrath <roland@baalperazim.frob.com>
8
9 * sysdeps/pthread/Makefile: File removed.
10
c0bc5f7b
UD
112000-03-23 Ulrich Drepper <drepper@redhat.com>
12
383052e9
UD
13 * mutex.c (__pthread_reset_pthread_once): Reset once_masterlock.
14 * internals.h (__pthread_reset_pthread_once): Add prototype.
15 * ptfork.c (__fork): Call __pthread_reset_pthread_once.
16
c0bc5f7b
UD
17 * manager.c (pthread_handle_create): Store ID of new thread before
18 clone call.
19
0bf98029
UD
202000-03-21 Ulrich Drepper <drepper@redhat.com>
21
ef7dddd0
UD
22 * attr.c: Use new macros from shlib-compat.h to define versions.
23 * oldsemaphore.c: Likewise.
24 * semaphore.c: Likewise.
25 * weaks.c: Likewise.
26
1ab1ea76
UD
27 * pthread.c: Update for new SHLIB_COMPAT definition.
28
101edd3f
UD
29 * manager.c (__pthread_manager): Unmask debug signal.
30
0bf98029
UD
31 * pthread.c (pthread_initialize): Test for address of __dso_handle
32 being NULL, not value. Use __on_exit, not on_exit.
e063cef8 33 Patch by Andreas Jaeger <aj@suse.de>.
0bf98029 34
75836bc8
UD
35 * pthread.c: Use new macros from shlib-compat.h to define versions.
36
a6a478e9
UD
372000-03-19 Ulrich Drepper <drepper@redhat.com>
38
39 * pthread.c (pthread_initialize): Instead of on_exit use
40 __cxa_atexit if __dso_label is available to allow unloading the
41 libpthread shared library.
42
13a83604
UD
432000-03-16 Ulrich Drepper <drepper@redhat.com>
44
45 * condvar.c: Make tests for ownership of mutex less strict.
46
30b416ea
UD
472000-03-14 Ulrich Drepper <drepper@redhat.com>
48
5d141597
UD
49 * condvar.c (pthread_cond_wait): Check whether mutex is owned by
50 current thread and return error if not.
04366d5f
UD
51 (pthread_cond_timedwait_relative_old): Likewise.
52 (pthread_cond_timedwait_relative_new): Likewise.
5d141597 53
30b416ea
UD
54 * mutex.c (__pthread_once): Handle cancelled init function correctly.
55 (pthread_once_cancelhandler): New function.
56 Patch by Kaz Kylheku <kaz@ashi.footprints.net>.
57
56eea8d1
UD
582000-03-14 Andreas Jaeger <aj@suse.de>
59
60 * pthread.c (pthread_handle_sigcancel_rt): GS has been renamed to
61 REG_GS.
62 (pthread_handle_sigrestart_rt): Likewise.
63 * signals.c (pthread_sighandler_rt): Likewise.
64
3d9ebedb
AJ
652000-03-02 Andreas Jaeger <aj@suse.de>
66
67 * sysdeps/pthread/bits/libc-lock.h: Fix typo.
68 Reported by Sean Chen <sean.chen@turbolinux.com>.
69
b041ebc2
UD
702000-02-28 Andreas Jaeger <aj@suse.de>
71
72 * rwlock.c: Fix typo.
73
0ed99ce4
UD
742000-02-27 Ulrich Drepper <drepper@redhat.com>
75
76 * rwlock.c: Define __* variants of the functions and make old names
77 aliases.
78 * Versions [GLIBC_2.2]: Export the __pthread_rwlock_* functions.
79 * sysdeps/pthread/bits/libc-lock.h: Define __libc_rwlock_* macros.
80
d66732e0
UD
812000-02-25 Andreas Jaeger <aj@suse.de>
82
83 * Versions: Export pread, __pread64, pread64, pwrite, __pwrite64,
0ed99ce4
UD
84 pwrite64, lseek64, open64, and __open64 with version 2.2.
85
93a19c64
UD
862000-02-22 Ulrich Drepper <drepper@redhat.com>
87
88 * semaphore.h (SEM_FAILED): Use 0 not NULL.
89
ec91ea7c
UD
902000-02-14 Ulrich Drepper <drepper@redhat.com>
91
92 * condvar.c (pthread_cond_timedwait_relative_old): Tight loop with
93 nanosleep does not work either. Get absolute time inside the
94 loop.
95 (pthread_cond_timedwait_relative_new): Likewise.
96 Patch by Kaz Kylheku <kaz@ashi.footprints.net>.
97
f5ff12d8
UD
982000-02-13 Andreas Jaeger <aj@suse.de>
99
100 * condvar.c (pthread_cond_timedwait_relative_new): Fix last patch.
101 (pthread_cond_timedwait_relative_old): Likewise.
102
46661856
UD
1032000-02-13 Ulrich Drepper <drepper@redhat.com>
104
105 * condvar.c (pthread_cond_timedwait_relative_old): Undo last patch
106 but keep the code around. A bug in the kernel prevent us from
107 using the code.
108 (pthread_cond_timedwait_relative_new): Likewise.
109 (PR libc/1597 and libc/1598).
110
b168cff2
UD
1112000-02-01 Kaz Kylheku <kaz@ashi.footprints.net>
112
113 * condvar.c (pthread_cond_timedwait_relative_old): Do tight
114 loop around nanosleep calls instead of around most of the function
115 (pthread_cond_timedwait_relative_new): Likewise.
116 body. Got rid of backwards goto and one local.
117
8a94dfe4
UD
1182000-01-31 Ulrich Drepper <drepper@redhat.com>
119
120 * condvar.c (pthread_cond_timedwait_relative_old): Recompute time
121 before every nanosleep call to account for time spent in the rest
122 of the function.
123 (pthread_cond_timedwait_relative_new): Likewise.
124 Patch by khendricks@ivey.uwo.ca (PR libc/1564).
125
b6aa34eb
UD
1262000-01-29 Ulrich Drepper <drepper@redhat.com>
127
128 * condvar.c (pthread_cond_timedwait_relative_old): Get remaining time
129 from nanosleep call so that in case we restart we only wait for the
130 remaining time.
131 (pthread_cond_timedwait_relative_new): Likewise.
132 Patch by khendricks@ivey.uwo.ca (PR libc/1561).
133
0af4c646
UD
1342000-01-18 Ulrich Drepper <drepper@cygnus.com>
135
136 * manager.c (pthread_allocate_stack): Compute guard page address
137 correctly. Patch by HJ Lu.
138
139 * sysdeps/pthread/pthread.h: Define
140 PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP.
141
2449110a
UD
1422000-01-16 Ulrich Drepper <drepper@cygnus.com>
143
144 * rwlock.c (pthread_rwlock_unlock): Correct one more problem with
145 preference handling.
146 (pthread_rwlockattr_setkind_np): Allow
147 PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP.
148 Patches by Kaz Kylheku <kaz@ashi.footprints.net>.
149
03c0d6ef
UD
1502000-01-12 Ulrich Drepper <drepper@cygnus.com>
151
152 * internals.h (pthread_readlock_info): New structure.
153 (_pthread_descr_struct): Add p_readlock_list, p_readlock_free, and
154 p_untracked_readlock_count.
155 * pthread.c (__pthread_initial_thread, pthread_manager_thread):
156 Add initializers for new fields.
157 * manager.c (pthread_free): Free read/write lock lists.
158 * queue.h (queue_is_empty): New function.
159 * rwlock.c: Implement requirements about when readers should get
160 locks assigned.
161 * sysdeps/pthread/pthread.h
162 (PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP): New definition.
163 * sysdeps/pthread/bits/pthreadtypes.h (struct _pthread_rwlock_t):
164 Define this name as well.
165 Patches by Kaz Kylheku <kaz@ashi.footprints.net>.
166
d569d333
UD
1672000-01-05 Ulrich Drepper <drepper@cygnus.com>
168
2ba3c836
UD
169 * pthread.c (__pthread_initial_thread, pthread_manager_thread):
170 Adjust initializers for struct _pthread_descr_struct change.
d569d333
UD
171 * internals.h (struct _pthread_descr_struct): Move new elements to
172 the end.
173
1d2fc9b3
UD
1742000-01-03 Kaz Kylheku <kaz@ashi.footprints.net>
175
176 Redesigned how cancellation unblocks a thread from internal
177 cancellation points (sem_wait, pthread_join,
178 pthread_cond_{wait,timedwait}).
179 Cancellation won't eat a signal in any of these functions
180 (*required* by POSIX and Single Unix Spec!).
a3bfd999 181 * condvar.c: Spontaneous wakeup on pthread_cond_timedwait won't eat a
1d2fc9b3
UD
182 simultaneous condition variable signal (not required by POSIX
183 or Single Unix Spec, but nice).
184 * spinlock.c: __pthread_lock queues back any received restarts
185 that don't belong to it instead of assuming ownership of lock
186 upon any restart; fastlock can no longer be acquired by two threads
187 simultaneously.
a3bfd999 188 * restart.h: Restarts queue even on kernels that don't have
1d2fc9b3
UD
189 queued real time signals (2.0, early 2.1), thanks to atomic counter,
190 avoiding a rare race condition in pthread_cond_timedwait.
191
1c5d4617
UD
1921999-12-31 Andreas Jaeger <aj@suse.de>
193
194 * internals.h: Remove duplicate prototype declarations.
195
196 * weaks.c: Remove __THROW from prototypes since the file is not
197 compiled by a C++ compiler.
198 * internals.h: Likewise.
199
2001999-12-30 Andreas Jaeger <aj@suse.de>
201
202 * sysdeps/pthread/pthread.h: Move internal functions to...
203 * sysdeps/pthread/bits/libc-lock.h: ...here.
204
d876f532
UD
2051999-12-29 Andreas Jaeger <aj@suse.de>
206
207 * sysdeps/pthread/pthread.h: Fix typos, reformat comments.
208
056e0358
UD
2091999-12-28 Ulrich Drepper <drepper@cygnus.com>
210
211 * sysdeps/alpha/pt-machine.h: Move stack_pointer definition to the
212 beginning.
213
214 * manager.c (__pthread_start): Add one more cast to prevent
215 warning on 64bit machines.
216
46fd4f67
UD
2171999-12-21 Ulrich Drepper <drepper@cygnus.com>
218
219 * manager.c (pthread_handle_create): Set p_pid of new thread
220 before calling the callback function to report a new thread.
221
c63598bf
UD
2221999-12-20 Andreas Jaeger <aj@suse.de>
223
224 * pthread.c (pthread_initialize): Move getrlimit call after
225 setting of errno.
226
b85697f6
UD
2271999-12-18 Ulrich Drepper <drepper@cygnus.com>
228
778c59c8
UD
229 * Versions: Export pread, __pread64, pread64, pwrite, __pwrite64,
230 pwrite64, lseek64, open64, and __open64.
231 * wrapsyscall.c: Define pread, __pread64, pread64, pwrite, __pwrite64,
232 pwrite64, lseek64, open64, and __open64.
233
b85697f6
UD
234 * manager.c (pthread_allocate_stack): Correct computation of
235 new_thread_bottom. Correct handling of stack size and when the
236 rlimit method to guard for stack growth is used.
237 * pthread.c (pthread_initialize): Stack limit must be STACK_SIZE
238 minus one pagesize (not two).
239
b43b13ac
UD
2401999-12-03 Andreas Jaeger <aj@suse.de>
241
242 * Versions: Add __res_state with version GLIBC_2.2.
243
244 * errno.c (__res_state): New function to return thread specific
245 resolver state.
246
247 * pthread.c (pthread_initialize): Initialize p_resp.
248 (__pthread_reset_main_thread): Also set p_resp.
249
250 * manager.c (pthread_handle_create): Initialize p_resp.
251
252 * internals.h: Add thread specific resolver state.
253 Based on patches by Adam D. Bradley <artdodge@cs.bu.edu>.
254
d7a4856e
UD
2551999-12-01 Ulrich Drepper <drepper@cygnus.com>
256
257 * sysdeps/i386/pt-machine.h: Move stack_pointer definition to the
258 beginning.
259 * sysdeps/i386/i686/pt-machine.h: Likewise.
260 Patches by Alan Modra <alan@SPRI.Levels.UniSA.Edu.Au>.
261
ffd35632
UD
2621999-11-23 Ulrich Drepper <drepper@cygnus.com>
263
264 * manager.c (pthread_start_thread_event): Initialize p_pid already
265 here.
266
20bdb31b
UD
2671999-11-22 Ulrich Drepper <drepper@cygnus.com>
268
269 * internals.h: Add prototype for __pthread_manager_event.
270 * manager.c (__pthread_manager_event): New function.
271 (pthread_start_thread_event): Correct computation of self.
272 Use INIT_THREAD_SELF.
273 * pthread.c (__pthread_manager_thread): Initialize p_lock.
274 (__pthread_initialize_manager): Respect event flags also for creation
275 of the manager thread.
276
178a145a
UD
2771999-11-08 Ulrich Drepper <drepper@cygnus.com>
278
279 * pthread.c (__pthread_initialize_manager): Initialize
280 __pthread_manager_thread.p_tid.
281
a9cb398f
UD
2821999-11-02 Ulrich Drepper <drepper@cygnus.com>
283
ab86fbb1
UD
284 * internals.h: Declare __pthread_last_event.
285 * manager.c: Define __pthread_last_event.
286 (pthread_handle_create): Set __pthread_last_event.
287 (pthread_exited): Likewise.
288 * join.c (pthread_exit): Likewise.
289
a9cb398f
UD
290 * Makefile (libpthread-routines): Add events.
291 * events.c: New file.
292 * internals.h: Protect against multiple inclusion.
293 Include thread_dbP.h header.
294 (struct _pthread_descr_struct): Add new fields p_report_events and
295 p_eventbuf.
296 Declare event reporting functions.
297 * join.c (pthread_exit): Signal event if this is wanted.
298 * manager.c (__pthread_threads_events): New variable.
299 (pthread_handle_create): Take new parameters with event information.
300 Signal TD_CREATE event if wanted.
301 (__pthread_manager): Adjust pthread_handle_create call.
302 (pthread_start_thread_event): New function. Block until manager is
303 finished and then call pthread_start_thread.
304 (pthread_exited): Signal TD_REAP event if wanted.
305
8dd1e494
UD
3061999-10-26 Ulrich Drepper <drepper@cygnus.com>
307
308 * restart.h (suspend_with_cancellation): Rewrite as a macro.
309
310 * condvar.c (pthread_cond_timedwait_relative): Don't mark as inline.
311
86cfe82d
UD
3121999-10-25 Andreas Jaeger <aj@suse.de>
313
314 * internals.h: Remove K&R compatibility.
315 * no-tsd.c: Likewise.
316 * semaphore.h: Likewise.
317 * signals.c: Likewise.
318 * sysdeps/pthread/bits/libc-tsd.h: Likewise.
319 * sysdeps/unix/sysv/linux/bits/sigthread.h: Likewise.
320 * weaks.c: Likewise.
321
15daa639
UD
3221999-10-21 Xavier Leroy <Xavier.Leroy@inria.fr>
323
324 * linuxthreads/pthread.c: For i386, wrap pthread_handle_sigrestart
325 and pthread_handle_sigcancel with functions that restore
326 %gs from the signal context. For each signal handling function,
327 two wrappers are required, one for a non-RT signal and one for
328 a RT signal.
329 * linuxthreads/signal.c: For i386, add code to restore %gs
330 from the signal context in pthread_sighandler and
331 pthread_sighandler_rt.
332
ef5d6645
UD
3331999-10-17 Ulrich Drepper <drepper@cygnus.com>
334
335 * internals.h (PTHREAD_START_ARGS_INITIALIZER): Add cast.
336
f6367df2
UD
3371999-10-14 Ulrich Drepper <drepper@cygnus.com>
338
4a379216
UD
339 * pthread.c (__pthread_initial_thread): Pass argument to
340 PTHREAD_START_ARGS_INITIALIZER.
341 (__pthread_manager_thread): Likewise.
342
343 * internals.h (PTHREAD_START_ARGS_INITIALIZER): Add parameter to
344 initialize function.
345
f6367df2
UD
346 * manager.c (pthread_handle_create): Remove p_startfct initialization.
347
348 * internals.h (_pthread_descr_struct): We don't need p_startfct field.
349
d4c5cf80
UD
3501999-10-12 Ulrich Drepper <drepper@cygnus.com>
351
352 * internals.h: Correct return types for __libc_read and __libc_write.
353
883c331a
UD
3541999-10-09 Andreas Jaeger <aj@suse.de>
355
356 * internals.h: Add __new_sem_post to get prototype in
357 manager.c; include semaphore.h for needed types.
358
c813f986
UD
3591999-10-08 Ulrich Drepper <drepper@cygnus.com>
360
361 * manager.c (__pthread_manager) [REQ_POST]: Use __new_sem_post
362 directly instead of calling sem_post which should not be necessary
363 but is faster and might help in some case to work around problems.
c1422e5b 364 Patch by khendricks@ivey.uwo.ca [libc/1382].
c813f986 365
0f5219d4
UD
3661999-10-08 Andreas Schwab <schwab@suse.de>
367
368 * sysdeps/pthread/Subdirs: New file.
369 * Implies: Removed.
370
9640bbe1
UD
3711999-10-07 Ulrich Drepper <drepper@cygnus.com>
372
373 * Implies: New file.
374 * internals.h (struct _pthread_descr_struct): Add p_startfct.
375 * manager.c (pthread_handle_create): Initialize p_startfct.
376 * pthread.c: Define __linuxthread_pthread_sizeof_descr variable.
377
079c00e6
UD
3781999-09-25 Ulrich Drepper <drepper@cygnus.com>
379
d790bc34
UD
380 * manager.c (__linuxthreads_pthread_threads_max): New variable.
381 * specific.c (__linuxthreads_pthread_keys_max): New variable.
6e42b0f1 382 (__linuxthreads_pthread_key_2ndlevel_size): New variable.
d790bc34 383
079c00e6
UD
384 * condvar.c (pthread_cond_timedwait_relative): Never return with
385 EINTR. Patch by Andreas Schwab.
386
b5c69d99
UD
3871999-09-19 Ulrich Drepper <drepper@cygnus.com>
388
389 * signals.c (sigaction): Correct last patch. Don't select
390 pthread_sighandler_rt based on the signal number but instead of
391 the SA_SIGINFO flag.
392
d790bc34
UD
3931999-09-23 Ulrich Drepper <drepper@cygnus.com>
394
395 * specific.c: Move definitions of struct pthread_key_struct and
396 destr_function to ...
397 * internals.h: ...here.
398
9cf44e65
UD
3991999-09-18 Ulrich Drepper <drepper@cygnus.com>
400
401 * pthread.c (pthread_handle_sigrestart_rt): New function. Use
402 this instead of pthread_handle_sigrestart if the signal is an RT
403 signal.
404
405 * signals.c: Handle passing through of sighandler arguments also
406 for real-time signals.
407
4fe53b3a
UD
4081999-09-03 Andreas Schwab <schwab@suse.de>
409
410 * ptfork.c (__fork): Renamed from fork and use __libc_fork. Add
411 fork as weak alias.
412 (__vfork): New function, alias vfork.
413 * Versions: Export __fork, vfork, and __vfork in libpthread.
414
1d0b89a4
UD
4151999-08-23 Andreas Schwab <schwab@suse.de>
416
417 * signals.c (pthread_sighandler): Add SIGCONTEXT_EXTRA_ARGS to
418 call to signal handler.
419
6570e194
UD
4201999-08-20 Ulrich Drepper <drepper@cygnus.com>
421
422 * pthread.c (__pthread_reset_main_thread): Undo last change.
423 (__pthread_kill_other_threads_np): Reset signal handlers for the
424 signals we used in the thread implementation here.
425
70aea399
UD
4261999-08-19 Ulrich Drepper <drepper@cygnus.com>
427
2b638910 428 * pthread.c (__pthread_reset_main_thread): Reset signal handlers
68ea6c18 429 for the signals we used in the thread implementation [PR libc/1234].
2b638910 430
264ec183
UD
431 * Versions: Export __pthread_kill_other_threads_np from libpthread
432 for GLIBC_2.1.2.
433
70aea399
UD
434 * signals.c: Pass sigcontext through wrapper to the user function.
435
ff5fad16
UD
4361999-08-01 Ulrich Drepper <drepper@cygnus.com>
437
438 * Versions [ld.so] (GLIBC_2.0): Export __libc_internal_tsd_get and
439 __libc_internal_tsd_set.
440
6b798621
UD
4411999-07-29 Andreas Jaeger <aj@arthur.rhein-neckar.de>
442
443 * manager.c: Remove inclusion of <linux/tasks.h> since it's not
444 needed anymore.
445
76a16b8f
UD
4461999-07-16 Andreas Jaeger <aj@arthur.rhein-neckar.de>
447
4bf307e3 448 * internals.h: Align _pthread_descr_struct to 32 bytes.
76a16b8f
UD
449 Reported by Tim Hockin <thockin@cobaltnet.com>, close PR
450 libc/1206.
451
5ef2d37b
UD
4521999-07-09 Ulrich Drepper <drepper@cygnus.com>
453
454 * oldsemaphore.c (sem_compare_and_swap): Fix use of compare and
455 swap function.
456
c2fa5b5a
UD
4571999-07-09 Cristian Gafton <gafton@redhat.com>
458
459 * Makefile (libpthread-routines): Add oldsemaphore routine.
ae3c1571
UD
460 * Versions: Add sem_destroy, sem_getvalue, sem_init, sem_post,
461 sem_trywait, and sem_wait to GLIBC_2.1.
c2fa5b5a
UD
462 * oldsemaphore.c: New file.
463 * semaphore.c: Add default_symbol_versions for the changed functions.
464 (__new_sem_init): Rename from sem_init.
465 (__new_sem_post): Rename from sem_post.
466 (__new_sem_wait): Rename from sem_wait.
467 (__new_sem_trywait): Rename from sem_trywait.
468 (__new_sem_getvalue): Rename from sem_getvalue.
469 (__new_sem_destroy): Rename from sem_destroy.
470
6a1db4ff
UD
4711999-06-23 Robey Pointer <robey@netscape.com>
472
473 * internals.h: Added p_nextlock entry to separate queueing for a
474 lock from queueing for a CV (sometimes a thread queues on a lock
475 to serialize removing itself from a CV queue).
476 * pthread.c: Added p_nextlock to initializers.
477 * spinlock.c: Changed to use p_nextlock instead of p_nextwaiting.
478
019e7a64
UD
4791999-07-09 Ulrich Drepper <drepper@cygnus.com>
480
481 * manager.c (pthread_handle_create): Free mmap region after stack
482 if clone failed. Patch by Kaz Kylheku <kaz@ashi.FootPrints.net>.
483
33d1a2c5
UD
4841999-05-23 Andreas Jaeger <aj@arthur.rhein-neckar.de>
485
486 * man/pthread_cond_init.man: Correct example.
487 Reported by Tomas Berndtsson <tomas@nocrew.org>.
488
489 * linuxthreads.texi (Condition Variables): Likewise.
490
407d26b7
UD
4911999-05-18 Jakub Jelinek <jj@ultra.linux.cz>
492
493 * sysdeps/sparc/sparc64/pt-machine.h (__compare_and_swap): Use
494 casx not cas, also successful casx returns the old value in rd
495 and not the new value.
496
431c33c0
UD
4971999-05-16 Xavier Leroy <Xavier.Leroy@inria.fr>
498
499 * manager.c: If pthread_create() is given a NULL attribute
500 and the thread manager runs with a realtime policy, set the
501 scheduling policy of the newly created thread back to SCHED_OTHER.
502 * manager.c: If the PTHREAD_INHERIT_SCHED attribute is given,
503 initialize the schedpolicy field of new_thread->p_start_args
504 to that of the calling thread.
505
2c68584c
UD
5061999-04-29 Ulrich Drepper <drepper@cygnus.com>
507
508 * sysdeps/sparc/sparc64/pt-machine.h (__compare_and_swap): cas
509 instruction does not allow memory element to use offset.
510
390500b1
UD
5111999-04-28 Ulrich Drepper <drepper@cygnus.com>
512
513 * manager.c (pthread_allocate_stack): Optimize initialization of new
514 thread descriptor.
515
89afc233
UD
516 * sysdeps/pthread/bits/libc-lock.h (__libc_lock_define_initialized):
517 Don't use initializer since it is all zeroes.
518 (__libc_once_define): Likewise.
519
1e76ce9c
UD
5201999-04-16 Andreas Jaeger <aj@arthur.rhein-neckar.de>
521
522 * sysdeps/arm/Implies: Removed since cmpxchg/no-cmpxchg
523 doesn't exist anymore.
524 * sysdeps/i386/Implies: Likewise.
525 * sysdeps/m68k/Implies: Likewise.
526 * sysdeps/mips/Implies: Likewise.
527 * sysdeps/powerpc/Implies: Likewise.
528 * sysdeps/sparc/sparc32/Implies: Likewise.
529 * sysdeps/sparc/sparc64/Implies: Likewise.
530
46a4682d
UD
5311999-04-15 Ulrich Drepper <drepper@cygnus.com>
532
533 * sysdeps/alpha/bits/semaphore.h: Removed.
534 * sysdeps/powerpc/bits/semaphore.h: Removed.
535 * sysdeps/pthread/cmpxchg/bits/semaphore.h: Removed.
536 * sysdeps/pthread/no-cmpxchg/bits/semaphore.h: Removed.
537 * Makefile (headers): Remove bits/semaphore.h.
538
539 * semaphore.h: Define _pthread_descr if necessary.
540 Don't include limits.h. Define SEM_VALUE_MAX directly.
541 Define SEM_FAILED.
542 (sem_t): Protect element names with leading __.
543 Add declarations for sem_close, sem_open, and sem_unlink.
544 * semaphore.c: Adjust all functions for new element names.
545 Define sem_close, sem_open, and sem_unlink.
546 * Versions (libthread): Add sem_close, sem_open, and sem_unlink for
547 GLIBC_2.1.1.
548 * sysdeps/pthread/bits/pthreadtypes.h: Define _pthread_descr only if
549 necessary.
550
ea48e2c4
UD
5511999-03-16 H.J. Lu <hjl@gnu.org>
552
553 * specific.c (pthread_key_delete): Check th->p_terminated to see
554 if the thread is running.
555
670af0d9
UD
556 * Versions (__libc_internal_tsd_get, __libc_internal_tsd_set):
557 Added to GLIBC_2.0 for libc.so.
558
0543cd26
UD
5591999-02-12 H.J. Lu <hjl@gnu.org>
560
561 * Versions (__libc_current_sigrtmin, __libc_current_sigrtmax,
562 __libc_allocate_rtsig): Added to GLIBC_2.1.
563
564 * internals.h (DEFAULT_SIG_RESTART): Removed.
565 (DEFAULT_SIG_CANCEL): Removed.
566
567 * pthread.c (init_rtsigs, __libc_current_sigrtmin,
568 __libc_current_sigrtmax, __libc_allocate_rtsig): New functions.
569 (__pthread_sig_restart, __pthread_sig_cancel,
570 __pthread_sig_debug): Initialized.
571 (pthread_initialize): Call init_rtsigs () to initialize
572 real-time signals.
573
f5492334
UD
5741999-02-03 H.J. Lu <hjl@gnu.org>
575
576 * manager.c (__pthread_manager): Do block __pthread_sig_debug.
577 Don't restart the thread which sent REQ_DEBUG.
578 (pthread_start_thread): Check if __pthread_sig_debug > 0
579 before debugging.
580
581 * pthread.c (__pthread_initialize_manager): Suspend ourself
582 after sending __pthread_sig_debug to gdb instead of
583 __pthread_sig_cancel.
584
8f0302ee
UD
5851999-01-24 H.J. Lu <hjl@gnu.org>
586
587 * manager.c (__pthread_manager): Delete __pthread_sig_debug
588 from mask if __pthread_sig_debug > 0.
589 (pthread_handle_create): Increment __pthread_handles_num.
590
591 * manager.c (pthread_handle_create): Don't pass CLONE_PTRACE to clone.
592 * pthread.c (__pthread_initialize_manager): Likewise.
593
594 * pthread.c (pthread_initialize): Use __libc_allocate_rtsig (1)
595 instead of __libc_allocate_rtsig (2).
596 (__pthread_initialize_manager): Send __pthread_sig_debug to gdb
597 instead of __pthread_sig_cancel.
598 (pthread_handle_sigdebug): Fix comments.
599
82df2969
UD
6001999-01-21 Ulrich Drepper <drepper@cygnus.com>
601
602 * manager.c (pthread_allocate_stack): Set
603 __pthread_nonstandard_stacks if user-specified stack is used.
604
482eec0d
UD
6051999-01-16 Ulrich Drepper <drepper@cygnus.com>
606
607 * sysdeps/unix/sysv/linux/bits/posix_opt.h: Add _LFS_ASYNCHRONOUS_IO,
608 _LFS_LARGEFILE, _LFS64_LARGEFILE, and _LFS64_STDIO from Unix98.
609
b92ad8d6
UD
6101999-01-07 Xavier Leroy <Xavier.Leroy@inria.fr>
611
612 * pthread.c: Use a third signal __pthread_sig_debug distinct
613 from __pthread_sig_cancel to notify gdb when a thread is
614 created
615 * manager.c: Likewise.
616 * internals.h: Likewise.
617 * signals.c: The implementation of sigwait(s) assumed that
618 all signals in s have signal handlers already attached.
619 This is not required by the standard, so make it work
620 also if some of the signals have no handlers.
621
34992338
UD
6221999-01-05 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
623
624 * linuxthreads.texi: Remove pointers from first @node. Move old
625 @node spec inside comment.
626
118bad87
UD
6271998-12-31 Ulrich Drepper <drepper@cygnus.com>
628
629 * sysdeps/pthread/bits/stdio-lock.h: Define _IO_lock_lock and
630 _IO_lock_unlock.
631
c046e7a5
UD
6321998-12-29 Ulrich Drepper <drepper@cygnus.com>
633
634 * semaphore.c (sem_trywait): Don't forget to unlock the semaphore
635 lock. Patch by Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>.
636
361d49e6
UD
6371998-12-21 Ulrich Drepper <drepper@cygnus.com>
638
639 * manager.c: Threads now send __pthread_sig_cancel on termination.
640 Change clone call and signal masks.
641 * thread.c (pthread_handle_sigrestart): Remove special code for
642 manager.
643 (pthread_handle_sigcancel): In manager thread call
644 __pthread_manager_sighandler.
645 * sysdeps/i386/pt-machine.h (__compare_and_swap): Add memory clobber.
646 * sysdeps/i386/i686/pt-machine.h: Likewise.
647 Patches by Xavier Leroy.
648
4260bc74
UD
6491998-12-14 Ulrich Drepper <drepper@cygnus.com>
650
361d49e6 651 * spinlock.c (__pthread_unlock): Don't crash if called for an
fbaf6e72
UD
652 untaken mutex. Reported by Ruslan V. Brushkoff <rus@Snif.Te.Net.UA>.
653
4260bc74
UD
654 * Examples/ex6.c: Unbuffer stdout and reduce sleep time to reduce
655 overall runtime.
656
e3743e2f
UD
6571998-12-13 Ulrich Drepper <drepper@cygnus.com>
658
659 * Examples/ex3.c: Wait until all threads are started before
660 searching for the number to avoid race condition on very fast
661 systems.
662
8632b240
UD
6631998-12-08 Andreas Jaeger <aj@arthur.rhein-neckar.de>
664
665 * sysdeps/pthread/pthread.h: Remove __pthread_setcanceltype
2eda5d9b 666 declaration since it's not needed.
8632b240
UD
667
668 * sysdeps/pthread/pthread.h: Move internal functions to ...
669 * internals.h: ...here.
670
a6ff34d7
UD
6711998-12-02 H.J. Lu <hjl@gnu.org>
672
673 * pthread.c (__pthread_sig_restart): Initiliaze to 0 if
674 SIGRTMIN is defined.
675 (__pthread_sig_cancel): Likewise.
676
628a0aa1
UD
6771998-12-01 Andreas Jaeger <aj@arthur.rhein-neckar.de>
678
679 * wrapsyscall.c: Include <sys/mman.h> for msync,
680 <stdlib.h> for system and <termios.h> for tcdrain prototype.
681 Correct msync declaration.
682
348ed515
UD
6831998-11-29 Roland McGrath <roland@baalperazim.frob.com>
684
685 * sysdeps/pthread/bits/libc-tsd.h (__libc_tsd_define, __libc_tsd_get,
686 __libc_tsd_set): New macros for new interface.
687 * no-tsd.c: New file, provide uninitialized defns of
688 __libc_internal_tsd_get and __libc_internal_tsd_set.
689 * Makefile (routines): Add no-tsd.
690
6911998-10-12 Roland McGrath <roland@baalperazim.frob.com>
692
693 * internals.h: Include <bits/libc-tsd.h>, not <bits/libc-lock.h>.
694 * sysdeps/pthread/bits/libc-lock.h (__libc_internal_tsd_get,
695 __libc_internal_tsd_set): Move decls to ...
696 * sysdeps/pthread/bits/libc-tsd.h: New file for __libc_internal_tsd_*
697 declarations.
698
699 * sysdeps/pthread/bits/libc-lock.h (__libc_internal_tsd_get,
700 __libc_internal_tsd_set): Make these pointers to functions, not
701 functions; remove #pragma weak decls for them.
702 * specific.c (__libc_internal_tsd_get, __libc_internal_tsd_set):
703 Define static functions and initialized pointers to them.
704
97dac76c
UD
7051998-11-18 Ulrich Drepper <drepper@cygnus.com>
706
707 * Makefile (CFLAGS-mutex.c): Define as -D__NO_WEAK_PTHREAD_ALIASES.
708 (CFLAGS-specific.c): Likewise.
709 (CFLAGS-pthread.c): Likewise.
710 (CFLAGS-ptfork.c): Likewise.
711 (CFLAGS-cancel.c): Likewise.
712 * sysdeps/pthread/bits/libc-lock.h: Don't mark __pthread_* functions
713 as weak references if __NO_WEAK_PTHREAD_ALIASES is defined.
714
715 * mutex.c (pthread_mutex_init): Define as strong symbol.
716 (pthread_mutex_destroy): Likewise.
717 (pthread_mutex_trylock): Likewise.
718 (pthread_mutex_lock): Likewise.
719 (pthread_mutex_unlock): Likewise.
720 (pthread_mutexattr_init): Likewise.
721 (pthread_mutexattr_destroy): Likewise.
722 (pthread_once): Likewise.
723 * ptfork.c (pthread_atfork): Likewise.
724 * specific.c (pthread_key_create): Likewise.
725 (pthread_setspecific): Likewise.
726 (pthread_getspecific): Likewise.
727
8b7fb588
UD
7281998-11-15 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
729
730 * linuxthreads.texi: Fix punctuation after xref.
731
d2537a47
UD
7321998-11-10 H.J. Lu <hjl@gnu.org>
733
734 * sysdeps/unix/sysv/linux/bits/local_lim.h: Undefine NR_OPEN
735 if it is defined in <linux/limits.h>.
736
d5cabaa4
UD
7371998-10-29 14:28 Ulrich Drepper <drepper@cygnus.com>
738
739 * spinlock.h (__pthread_trylock): Define inline.
740 (__pthread_lock): Add extra parameter to declaration. Declare
741 using internal_function.
742 (__pthread_unlock): Declare using internal_function.
743 * spinlock.c (__pthread_lock): Add new parameter. Use it instead
744 of local variable self. Avoid recomputing self. Define using
745 internal_function.
746 (__pthread_trylock): Remove.
747 (__pthread_unlock): Define using internal_function.
748 * cancel.c: Adjust for __pthread_lock interface change. Use already
749 computed self value is possible.
750 * condvar.c: Likewise.
751 * join.c: Likewise.
752 * manager.c: Likewise.
753 * mutex.c: Likewise.
754 * pthread.c: Likewise.
755 * rwlock.c: Likewise.
756 * semaphore.c: Likewise.
757 * signals.c: Likewise.
758
c70ca1fa
UD
7591998-10-27 13:46 Ulrich Drepper <drepper@cygnus.com>
760
761 * sysdeps/pthread/pthread.h (struct _pthread_cleanup_buffer): Prepend
762 __ to field names of the struct.
763 * sysdeps/pthread/bits/pthreadtypes.h (struct _pthread_fastlock):
764 Likewise.
765 (pthread_attr_t): Likewise.
766 (pthread_cond_t): Likewise.
767 (pthread_condattr_t): Likewise.
768 (pthread_mutex_t): Likewise.
769 (pthread_mutexattr_t): Likewise.
770 (pthread_rwlock_t): Likewise.
771 (pthread_rwlockattr_t): Likewise.
772 * attr.c: Adjust for pthread.h and pthreadtypes.h change.
773 * cancel.c: Likewise.
774 * condvar.c: Likewise.
775 * manager.c: Likewise.
776 * mutex.c: Likewise.
777 * pthread.c: Likewise.
778 * ptlongjmp.c: Likewise.
779 * rwlock.c: Likewise.
780 * spinlock.c: Likewise.
781
a5d1d726
UD
7821998-10-09 Ulrich Drepper <drepper@cygnus.com>
783
7ccc548b
UD
784 * sysdeps/i386/pt-machine.h (get_eflags, set_eflags): Mark these
785 also with PT_EI.
786
a5d1d726
UD
787 * sysdeps/i386/i686/pt-machine.h: Remove unused inline
788 definitions.
789
9a29bc37
UD
790 * Makefile (libpthread-routines): Add pt-machine.
791 * pt-machine.c: New file.
792 * sysdeps/alpha/pt-machine.h: Define PT_EI as extern inline is not
793 yet defined. Use PT_EI in extern inline definitions.
794 * sysdeps/arm/pt-machine.h: Likewise.
795 * sysdeps/i386/pt-machine.h: Likewise.
796 * sysdeps/i386/i686/pt-machine.h: Likewise.
797 * sysdeps/m68k/pt-machine.h: Likewise.
798 * sysdeps/mips/pt-machine.h: Likewise.
799 * sysdeps/powerpc/pt-machine.h: Likewise.
800 * sysdeps/sparc/sparc32/pt-machine.h: Likewise.
801 * sysdeps/sparc/sparc64/pt-machine.h: Likewise.
802
c10bb795
UD
8031998-10-02 Andreas Jaeger <aj@arthur.rhein-neckar.de>
804
805 * semaphore.h: Include <sys/types.h> so that _pthread_descr
806 is declared.
807
8081998-09-15 David S. Miller <davem@pierdol.cobaltmicro.com>
809
810 * sysdeps/sparc/sparc32/pt-machine.h (INIT_THREAD_SELF): Add nr
811 argument.
812 * sysdeps/sparc/sparc64/pt-machine.h (INIT_THREAD_SELF): Likewise.
813
8141998-09-12 14:24 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu>
815
816 * linuxthreads/sysdeps/unix/sysv/linux/bits/sigthread.h: Add
817 multiple inclusion guard.
818
5e0889da
UD
8191998-09-02 11:08 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
820
821 * signals.c (sigaction): Check that sig is less than NSIG to avoid
822 array index overflow.
823
6796bc80
UD
8241998-09-06 10:56 Ulrich Drepper <drepper@cygnus.com>
825
826 * sysdeps/pthread/semaphore.h: New file.
827
be935610
UD
8281998-09-06 09:08 Ulrich Drepper <drepper@cygnus.com>
829
830 * sysdeps/pthread/bits/libc-lock.h (enum __libc_tsd_key_t): Add
831 _LIBC_TSD_KEY_DL_ERROR.
832
bfce746a
UD
8331998-08-31 Ulrich Drepper <drepper@cygnus.com>
834
7afab53d 835 * sysdeps/i386/i686/pt-machine.h (testandset): Add memory clobber.
6a805a0b 836 * sysdeps/i386/pt-machine.h: Likewise.
bfce746a
UD
837 Suggested by Roland McGrath.
838
75311719
UD
8391998-08-28 13:58 Ulrich Drepper <drepper@cygnus.com>
840
841 * internals.h: Also define THREAD_GETMEM_NC and THREAD_SETMEM_NC to
842 access thread data with non-constant offsets.
843 * specific.c: Use THREAD_GETMEM_NC and THREAD_SETMEM_NC where
844 necessary.
845
846 * sysdeps/i386/useldt.h: Fix typo. Add THREAD_GETMEM_NC and
847 THREAD_SETMEM_NC definitions.
848
849 * sysdeps/sparc/sparc32/pt-machine.h: Define THREAD_GETMEM_NC and
850 THREAD_SETMEM_NC.
851 * sysdeps/sparc/sparc64/pt-machine.h: Likewise.
852
00a2f9aa
UD
8531998-08-26 15:46 Ulrich Drepper <drepper@cygnus.com>
854
855 * internals.h: Define THREAD_GETMEM and THREAD_SETMEM to default if
856 not already defined.
857 (struct _pthread_descr_struct): Add p_self and p_nr field.
858 * manager.c (__pthread_handles): Define second element to point
859 to manager thread.
860 (__pthread_handles_num): Initialize to 2.
861 (__pthread_manager): Use INIT_THREAD_SELF with two arguments.
862 (pthread_start_thread): Likewise.
863 (pthread_handle_create): Start search for free slot at entry 2.
864 Initialize new fields p_self and p_nr.
865 Call __clone with CLONE_PTRACE if available.
866 (pthread_free): Call FREE_THREAD_SELF if available.
867 * pthread.c (__pthread_initial_thread): Initialize new fields.
868 (__pthread_manager_thread): Likewise.
869 (__pthread_initialize_manager): Call __clone with CLONE_PTRACE.
870
871 * cancel.c: Use THREAD_GETMEM and THREAD_SETMEM to access the
872 elements of the thread descriptor.
873 * condvar.c: Likewise.
874 * errno.c: Likewise.
875 * join.c: Likewise.
876 * manager.c: Likewise.
877 * pthread.c: Likewise.
878 * ptlongjmp.c: Likewise.
879 * semaphore.c: Likewise.
880 * signals.c: Likewise.
881 * specific.c: Likewise.
882 * spinlock.c: Likewise.
883
884 * sysdeps/alpha/pt-machine.h (INIT_THREAD_SELF): Add extra parameter.
885
886 * sysdeps/i386/useldt.h: New file.
887 * sysdeps/i386/i686/pt-machine.h: Show how to use this file.
888
889 * sysdeps/sparc/sparc32/pt-machine.h: Define THREAD_GETMEM and
890 THREAD_SETMEM using __thread_self.
891 * sysdeps/sparc/sparc64/pt-machine.h: Likewise.
892
ed1ac6a2
UD
8931998-08-24 Geoff Keating <geoffk@ozemail.com.au>
894
895 * spinlock.c (__pthread_lock): Reset p_nextwaiting to NULL if it
896 turned out that we didn't need to queue after all.
897
8981998-08-22 Geoff Keating <geoffk@ozemail.com.au>
899
900 * sysdeps/powerpc/pt-machine.h: Remove testandset, it's not used
901 and wastes space; correct types.
902
cf0fd016
UD
9031998-08-08 11:18 H.J. Lu <hjl@gnu.org>
904
905 * signals.c (sigaction): Handle NULL argument.
906
d358336f
UD
9071998-08-04 Ulrich Drepper <drepper@cygnus.com>
908
909 * sysdeps/unix/sysv/linux/bits/sigthread.h: Use __sigset_t instead
910 of sigset_t.
911
7cabd57c
UD
9121998-08-02 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
913
914 * Makefile (linuxthreads-version): Extract correct number from
915 Banner.
916
ddbf7fef
UD
9171998-07-29 Xavier Leroy <Xavier.Leroy@inria.fr>
918
919 * Banner: Bump version number to 0.8
920 * FAQ.html: Many updates, in particular w.r.t. debugging.
921 * manager.c: Support for non-default stacksize for
922 LinuxThreads-allocated stacks;
923 don't use guard pages for stacks with default size, rely on
924 rlimit(RLIMIT_STACK) instead (it's cheaper).
925 * attr.c: Likewise.
926 * cancel.c: Use __pthread_sig_cancel and __pthread_sig_restart
927 everywhere instead of PTHREAD_SIG_CANCEL and PTHREAD_SIG_RESTART.
928 * condvar.c: Likewise.
929 * internals.h: Likewise.
930 * restart.h: Likewise.
931 * signals.c: Likewise.
932 * pthread.c: Likewise; set rlimit(RLIMIT_STACK) as we need it.
933
6c202c68
UD
9341998-07-23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
935
936 * weaks.c: Define pthread_mutexattr_[sg]ettype instead of
937 __pthread_mutexattr_[sg]ettype. Add more weak aliases.
938 * Versions: Put __pthread_mutexattr_settype under version
939 GLIBC_2.0. Don't export __pthread_mutexattr_setkind_np and
940 __pthread_mutexattr_gettype.
941
9421998-07-23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
943
944 * sysdeps/pthread/bits/libc-lock.h: Make
945 __pthread_mutexattr_settype weak. Don't make
946 __pthread_mutexattr_setkind_np weak.
947
50304ef0
UD
9481998-07-16 10:52 Ulrich Drepper <drepper@cygnus.com>
949
950 * manager.c (pthread_handle_create): Check whether sched_setscheduler
951 call can succeed here.
952
953 * mutex.c: Define __pthread_mutexattr_settype and make
954 __pthread_mutexattr_setkind_np an alias.
955 Likewise for __pthread_mutexattr_gettype.
956
9571998-07-15 11:00 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu>
958
959 * attr.c (pthread_attr_setschedpolicy): Don't check whether caller
960 is root.
961
c764b9a7
UD
9621998-07-14 19:38 Ulrich Drepper <drepper@cygnus.com>
963
964 * sysdeps/pthread/bits/libc-lock.h: Define __libc_cleanup_end.
965
ceb27555
UD
9661998-07-11 Andreas Jaeger <aj@arthur.rhein-neckar.de>
967
968 * Examples/ex6.c: Include <unistd.h> for usleep.
969
b1209f90
UD
9701998-06-13 11:04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
971
972 * Examples/ex4.c (main): Use exit, not pthread_exit.
973
6077fe6e
UD
9741998-07-09 13:39 Ulrich Drepper <drepper@cygnus.com>
975
976 * Versions: Add __pthread_mutexattr_gettype and
977 __pthread_mutexattr_settype.
978 * lockfile.c: Use __pthread_mutexattr_settype instead of
979 __pthread_mutexattr_setkind_np.
980 * mutex.c: Define __pthread_mutexattr_gettype and
981 __pthread_mutexattr_settype.
982 * weak.c: Likewise.
e918a7fe
UD
983 * sysdeps/pthread/pthread.h: Declare __pthread_mutexattr_gettype and
984 __pthread_mutexattr_settype.
985 * sysdeps/pthread/bits/libc-lock.h (__libc_lock_init_recursive):
986 Use __pthread_mutexattr_settype.
6077fe6e 987
4bae5567
UD
9881998-07-08 22:26 Ulrich Drepper <drepper@cygnus.com>
989
990 * Versions: Add pthread_mutexattr_gettype, pthread_mutexattr_settype.
991 * mutex.c: Define weak alias pthread_mutexattr_gettype and
992 pthread_mutexattr_settype.
993 * sysdeps/pthread/pthread.h: Declare these functions.
994 Move pthread_sigmask and pthread_kill declaration in separate header.
995 * sysdeps/unix/sysv/linux/bits/sigthread.h: New file.
996
0302fece
UD
9971998-07-07 15:20 Ulrich Drepper <drepper@cygnus.com>
998
999 * Makefile: Add rules to compile and run tests.
1000 * Examples/ex1.c: Little changes to fix warnings.
1001 * Examples/ex2.c: Likewise.
1002 * Examples/ex3.c: Likewise.
1003 * Examples/ex4.c: Likewise.
1004 * Examples/ex5.c: Likewise.
1005 * Examples/ex6.c: New file.
1006
77ccaba1
UD
10071998-07-05 11:54 Ulrich Drepper <drepper@cygnus.com>
1008
6777b467 1009 * Versions: Add pthread_attr_init to GLIBC_2.1 version in libc.
77ccaba1 1010
ba9234d9
UD
10111998-07-01 Andreas Jaeger <aj@arthur.rhein-neckar.de>
1012
1013 * attr.c: Include <string.h>.
1014
d64fae6a
UD
10151998-06-30 11:47 Ulrich Drepper <drepper@cygnus.com>
1016
1017 * attr.c: Include errno.h. Use memcpy to copy sched_param.
1018 * internals.h: Include limits.h.
1019 * manager.c: Use memcpy to copy sched_param.
1020 * ptfork.c: Include errno.h.
1021 * pthread.c: Likewise.
1022 * semaphore.c: Likewise.
1023 * specific.c: Likewise.
1024 * spinlock.h: Likewise.
1025 * sysdeps/pthread/pthread.h: Include only allowed headers. Move
1026 type definition to ...
1027 * sysdeps/pthread/bits/pthreadtypes.h: ...here. New file.
1028
fdacb17d
UD
10291998-06-29 12:34 Ulrich Drepper <drepper@cygnus.com>
1030
1031 * sysdeps/pthread/pthread.h: Use __PMT not __P for function pointers.
1032
1033 * sysdeps/pthread/pthread.h: Define various PTHREAD_* symbols also
1034 as macros as demanded in POSIX.1, Annex C.
1035
10361998-06-29 12:29 Ulrich Drepper <drepper@cygnus.com>
1037
1038 * internals.h (struct pthread_request): For free use pthread_t
1039 instead of pthread_descr.
1040 * join.c (pthread_join): Pass thread_id, not th to manager.
1041 (pthread_detach): Likewise.
1042 * manager.c (__pthread_manager): Except thread ID in FREE_REQ case.
1043 (pthread_exited): Remove detached queue code.
1044 (pthread_handle_free): Expect thread ID parameter and use it to
1045 validate the thread decsriptor. Don't use detached queue.
1046 Patches by Xavier Leroy.
1047
10481998-06-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1049
1050 * libpthread.map: Export accept, longjmp, sigaction, siglongjmp,
1051 _IO_flockfile, _IO_ftrylockfile, _IO_funlockfile,
1052 __pthread_atfork, __pthread_key_create, __pthread_once.
1053 * internals.h: Doc fix.
1054 * pthread.c (__pthread_initialize): Define again.
1055
e138a800
UD
10561998-06-26 Ulrich Drepper <drepper@cygnus.com>
1057
026d5011
UD
1058 * manager.c (pthread_exited): If thread is not detached put it on
1059 special list.
1060 (pthread_handle_free): If thread is not on list with living threads
1061 search on list with detached threads.
1062
b195f6bc
UD
1063 * sysdeps/pthread/pthread.h (PTHREAD_RWLOCK_INITIALIZER): Correct
1064 for new definition of pthread_rwlock_t.
1065
e138a800
UD
1066 * spinlock.c: Correct test whether to compile
1067 __pthread_compare_and_swap or not.
1068
3387a425
UD
10691998-06-25 19:27 Ulrich Drepper <drepper@cygnus.com>
1070
1071 * attr.c: Finish user stack support. Change locking code to be safe
1072 in situations with different priorities.
1073 * cancel.c: Likewise.
1074 * condvar.c: Likewise.
1075 * internals.h: Likewise.
1076 * join.c: Likewise.
1077 * manager.c: Likewise.
1078 * mutex.c: Likewise.
1079 * pthread.c: Likewise.
1080 * ptlongjmp.c: Likewise.
1081 * queue.h: Likewise.
1082 * rwlock.c: Likewise.
1083 * semaphore.c: Likewise.
1084 * semaphore.h: Likewise.
1085 * signals.c: Likewise.
1086 * spinlock.c: Likewise.
1087 * spinlock.h: Likewise.
75c3a84f 1088 * sysdeps/pthread/pthread.h: Likewise.
df4099e8 1089 Patches by Xavier Leroy.
3387a425 1090
0ca7e46e 1091 * sysdeps/i386/i686/pt-machine.h: New file.
75c3a84f 1092
3387a425
UD
10931998-06-25 Ulrich Drepper <drepper@cygnus.com>
1094
1095 * sysdeps/pthread/pthread.h: Make [sg]et_stacksize and
1096 [sg]et_stackaddr prototypes always available.
1097
1098 * sysdeps/unix/sysv/linux/bits/posix_opt.h: Define
1099 _POSIX_THREAD_ATTR_STACKSIZE and _POSIX_THREAD_ATTR_STACKADDR.
1100
d47aac39
UD
11011998-06-24 Ulrich Drepper <drepper@cygnus.com>
1102
1103 * manager.c (pthread_free): Undo patch from 980430.
1104 Reported by David Wragg <dpw@doc.ic.ac.uk>.
1105
69f234e8
UD
11061998-06-09 15:07 Ulrich Drepper <drepper@cygnus.com>
1107
1108 * manager.c: Define __pthread_manager_adjust_prio and use it to
1109 increase priority when needed.
1110 * internals.h: Add prototype for __pthread_manager_adjust_prio.
1111 * mutex.c: Optimize mutexes to wake up only one thread.
768cbca8 1112 * pthread.c: Move PID of manager for global variable in structure
69f234e8
UD
1113 element.
1114 Patches by Xavier Leroy.
1115
c0fb8a56
UD
11161998-06-07 13:47 Ulrich Drepper <drepper@cygnus.com>
1117
1118 * sysdeps/pthread/bits/libc-lock.h: Optimize cleanup handlers a bit.
1119
c6bd526f
UD
11201998-06-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
1121
1122 * attr.c: Correct typo.
1123
f9119f49
UD
11241998-05-01 Ulrich Drepper <drepper@cygnus.com>
1125
1126 * manager.c (pthread_free): Unmap guard before the stack.
1127 Patch by Matthias Urlichs.
1128
3dd2c3e2
UD
11291998-04-30 Ulrich Drepper <drepper@cygnus.com>
1130
1131 * manager.c (pthread_free): Detect already free child.
1132 Patch by Xavier Leroy, reported by Matthias Urlichs.
1133
0111b224
UD
11341998-04-23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1135
1136 * Makefile (linuxthreads-version): Renamed back from
1137 libpthread-version.
1138
f12944ec
UD
11391998-04-21 Ulrich Drepper <drepper@cygnus.com>
1140
26e119f1 1141 * ptlongjmp.c: Add prototypes for __libc_siglongjmp and
f12944ec
UD
1142 __libc_longjmp.
1143
8619129f
UD
11441998-04-20 14:55 Ulrich Drepper <drepper@cygnus.com>
1145
1146 * Makefile (libpthread-routines): Add ptlongjmp and spinlock.
1147 * internals.h: Add definitions for new spinlock implementation.
1148 * ptlongjmp.c: New file.
1149 * spinlock.c: New file.
1150 * spinlock.h (acquire): Don't reschedule using __sched_yield, use
1151 new function __pthread_acquire to prevent deadlocks with thread
1152 with different priorities.
1153 Patches by Xavier Leroy <Xavier.Leroy@inria.fr>.
1154
52cda958
UD
11551998-03-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1156
1157 * manager.c (__pthread_manager): Reduce first argument to select
1158 to include just the needed file descriptor.
1159
48fc3dd2
UD
11601998-03-17 00:06 Ulrich Drepper <drepper@cygnus.com>
1161
1162 * manager.c: Fix last patch which caused core dumps.
1163
1164 * pthread.c: Correctly handle missing SIGRTMIN.
1165
f649c201
UD
11661998-03-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1167
1168 * libpthread.map: Add __libc_internal_tsd_get and
1169 __libc_internal_tsd_set. Add missing cancelable functions. Export
1170 libc internal versions of the cancelable functions.
1171
14c44e2e
UD
11721998-03-13 16:51 Ulrich Drepper <drepper@cygnus.com>
1173
1174 * weaks.c: Define pthread_attr_init as GLIBC_2.0 and GLIBC_2.1.
1175
5d409851
UD
11761998-03-13 00:46 Ulrich Drepper <drepper@cygnus.com>
1177
1178 * attr.c: Implement pthread_attr_[gs]etguardsize,
1179 pthread_attr_[gs]setstackaddr, pthread_attr_[gs]etstacksize.
1180 Change pthread_attr_init to have two interfaces.
1181 * internals.h (struct _pthread_descr_struct): Add new fields for
1182 above functions.
1183 * libpthread.map: Add names in GLIBC_2.1 section.
1184 * manager.c (pthread_handle_create): Implement guardsize and
1185 user stack.
1186 (pthread_free): Likewise.
1187 * pthread.c (pthread_create): Add new interface for changed
1188 pthread_attr_t.
1189 * sysdeps/pthread/pthread.h: Add prototypes for new functions.
1190 * sysdeps/unix/sysv/linux/bits/local_lim.h: Add definition of
1191 PTHREAD_STACK_MIN.
1192
5afdca00
UD
11931998-03-11 00:42 Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>
1194
5d409851
UD
1195 * manager.c: Enable resetting of the thread scheduling policy
1196 to SCHED_OTHER when the parent thread has a different one.
5afdca00
UD
1197
11981998-02-01 13:51 Ulrich Drepper <drepper@cygnus.com>
1199
1200 * sysdeps/unix/sysv/linux/bits/posix_opt.h: Define
1201 _POSIX_ASYNCHRONOUS_IO.
1202
1203 * sysdeps/pthread/pthread.h: Define bits for Unix98 variants of
1204 mutexes.
1205 * mutex.c: Implement new mutex types.
1206
1207 * internals.h: Include <signal.h>.
1208
1209 * libpthread.map: Add __erno_location and __h_errno_location.
1210
1211 * errno.c: Return pointer to variable actually in use. This might
1212 not be the one in the thread structure.
1213 * internals.h (struct _pthread_descr_struct): Add new fields p_errnop
1214 and p_h_errnop.
1215 * manager.c (__pthread_manager): Set p_errnop and p_h_errnop member
1216 of manager thread structure.
1217 (pthread_handle_create): Set p_errnop and p_h_errnop members for new
1218 thread.
1219 * pthread.c: Adapt initializer for thread structures.
1220 (__pthread_initial_thread): Set p_errnop and p_h_errnop member.
1221 (__pthread_reset_main_thread): Reset p_errnop and p_h_errnop of
1222 current thread to global variables.
1223
12241998-01-31 17:27 Ulrich Drepper <drepper@cygnus.com>
1225
1226 * rwlock.c: New file.
1227 * Makefile (libpthread-routines): Add rwlock.
1228 * sysdeps/pthread/pthread.h: Define data structures and declare
1229 functions.
1230 * libpthread.map: Add new functions.
1231
12321997-12-18 13:50 Philip Blundell <pb@nexus.co.uk>
1233
1234 * sysdeps/arm/pt-machine.h: New file; add ARM support.
1235 * sysdeps/arm/Implies: likewise.
1236 * README: Document it.
1237
12381997-12-13 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1239
1240 * signals.c: Remove unneeded initializer for sigwaited, saving a
1241 warning.
1242
12431997-04-11 01:18 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1244
1245 * semaphore.c (sem_init): Set sem_spinlock only if available.
1246
12471997-12-04 01:48 Ulrich Drepper <drepper@cygnus.com>
1248
1249 * mutex.c: Implement PTHREAD_MUTEX_CHECKERROR.
1250 * sysdeps/pthread/pthread.h: Define PTHREAD_MUTEX_CHECKERROR.
1251
1252 * Makefile: Update from LinuxThreads 0.7.
1253 * internals.h. Likewise.
1254 * manager.c: Likewise.
1255 * mutex.c: Likewise.
1256 * pthread.c: Likewise.
1257 * signals.c: Likewise.
1258 * specific.c: Likewise.
1259 * Examples/ex3.c: Likewise.
1260
12611997-11-20 18:13 Ulrich Drepper <drepper@cygnus.com>
1262
1263 * pthread.c (__pthread_reset_main_thread): Close pipe only if still
1264 open.
1265
12661997-10-29 05:38 Ulrich Drepper <drepper@cygnus.com>
1267
1268 * wrapsyscall.c: Add socket functions which are also cancelation
1269 points.
1270
12711997-10-19 21:40 Wolfram Gloger <wg@wolfram.dent.med.uni-muenchen.de>
1272
1273 * specific.c (__libc_internal_tsd_set, __libc_internal_tsd_get):
1274 New functions for fast thread specific data within libc.
1275
1276 * internals.h: Add new array p_libc_specific to struct
1277 _pthread_descr_struct.
1278
1279 * sysdeps/pthread/bits/libc-lock.h: Declare new functions.
1280
12811997-10-13 05:39 Ulrich Drepper <drepper@cygnus.com>
1282
1283 * semaphore.h: Add __BEGIN_DECLS/__END_DECLS.
1284 Reported by Ralf Corsepius <corsepiu@faw.uni-ulm.de>.
1285
12861997-08-29 03:05 Ulrich Drepper <drepper@cygnus.com>
1287
1288 * internals.h (struct _pthread_descr_struct): Add definitions for
1289 two-level specific key handling.
1290 * manager.c (pthread_handle_create): Initialize specific memory array.
1291 * specific.c: Implement two-level key handling.
1292 * weaks.c: Don't provide dummy key handling.
1293 * sysdeps/pthread/bits/libc-lock.h: Typedef __libc_lock_t (no #define).
1294 Add definition of __libc_key_t.
1295 * sysdeps/unix/sysv/linux/bits/local_lim.h: Define PTHREAD_KEYS_MAX
1296 as 1024.
1297 Add definition of _POSIX_THREAD_DESTRUCTOR_ITERATIONS and
1298 PTHREAD_DESTRUCTOR_ITERATIONS.
1299
1300 * manager.c (pthread_handle_create): Compare mmap result with
1301 MAP_FAILED.
1302
1303 * ptfork.c: Rename to __pthread_atfork and make old name a weak alias.
1304 * sysdeps/pthread/bits/pthread.h: Add prototype for __pthread_atfork.
1305
13061997-08-22 19:04 Richard Henderson <rth@cygnus.com>
1307
1308 sysdeps/sparc -> sysdeps/sparc/sparc32
1309 sysdeps/sparc64 -> sysdeps/sparc/sparc64
1310
1311 * internals.h: Change definition of THREAD_SELF to be an expression,
1312 not a statement that did a return.
1313 * sysdeps/alpha/pt-machine.h (THREAD_SELF): Update accordingly.
1314 * sysdeps/sparc/sparc32/pt-machine.h (THREAD_SELF, INIT_THREAD_SELF):
1315 Follow Solaris and use a "system reserved" register (%g6) to hold
1316 the thread descriptor.
1317 * sysdeps/sparc/sparc64/pt-machine.h: Likewise.
1318
13191997-08-03 00:09 Ulrich Drepper <drepper@cygnus.com>
1320
1321 * mutex.c: Correct pthread_once. Patch by Xavier Leroy.
1322 * sysdeps/pthread/pthread.h: Add prototype for __pthread_once.
1323 * sysdeps/pthread/bits/pthread.h: Add macros for __libc_once.
1324
1325 * semaphore.c: Include spinlock.h only when needed.
1326
1327 * specific.c (__pthread_setsepcific, __pthread_getspecific): Reject
1328 keys for entries not in use.
1329
1330 * weaks.c: Implement key handling functions for real.
1331
13321997-06-29 01:04 Richard Henderson <richard@gnu.ai.mit.edu>
1333
1334 Initial sparc64-linux support:
1335 * linuxthreads/sysdeps/sparc64/Implies: New file.
1336 * linuxthreads/sysdeps/sparc64/pt-machine.h: Likewise.
1337
13381997-06-29 00:48 Ulrich Drepper <drepper@cygnus.com>
1339
1340 * semaphore.c: Include spinlock.h at correct place.
1341 Patch by HJ Lu.
1342
13431997-06-13 10:06 Richard Henderson <rth@tamu.edu>
1344
1345 The Great Bit File Move:
1346 * sysdeps/alpha/semaphorebits.h: -> .../bits/semaphore.h.
1347 * sysdeps/powerpc/semaphorebits.h: Likewise.
1348 * sysdeps/pthread/cmpxchg/semaphorebits.h: Likewise.
1349 * sysdeps/pthread/no-cmpxchg/semaphorebits.h: Likewise.
1350 * sysdeps/pthread/libc-lock.h: -> bits/
1351 * sysdeps/pthread/stdio-lock.h: Likewise.
1352 * sysdeps/unix/sysv/linux/local_lim.h: Likewise.
1353 * sysdeps/unix/sysv/linux/posix_opt.h: Likewise.
1354 * semaphore.h: Likewise.
1355 * sysdeps/pthread/pthread.h: Likewise.
1356
1357 * lockfile.c: <foo.h> -> <bits/foo.h>.
1358 * semaphore.h: Likewise.
1359
1360 * Makefile: (headers): foo.h -> bits/foo.h.
1361 * sysdeps/pthread/Makefile: Likewise.
1362
13631997-04-11 01:18 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1364
1365 * semaphore.c (sem_init): Set sem_spinlock only if available.
1366
1367 * sysdeps/m68k/pt-machine.h (testandset, __compare_and_swap): Fix
1368 asm constraints.
1369
13701997-04-09 03:00 Ulrich Drepper <drepper@cygnus.com>
1371
1372 Update from LinuxThreads 0.6.
1373
1374 * attr.c (pthread_attr_getdetachstate): Use __sched_get_priority_max
1375 and __sched_get_priority_min instead of names without `__'.
1376
1377 * manager.c: Rewrite large parts to implement opaque pthread_t.
1378
1379 * cancel.c: Adapt for opaque pthread_t type.
1380 * condvar.c: Likewise.
1381 * errno.c: Likewise.
1382 * join.c: Likewise.
1383 * mutex.c: Likewise.
1384 * pthread.c: Likewise.
1385 * signals.c: Likewise.
1386 * specific.c: Likewise.
1387 * restart.h: Likewise.
1388 * queue.h: Likewise.
1389 * Examples/ex3.c: Likewise.
1390 * Examples/ex4.c: Likewise.
1391 * sysdeps/pthread/pthread.h: Likewise.
1392
1393 * pthread.c: Accumulate time for all threads in thread manager.
1394
1395 * semaphore.c: Implement fallback implementation for architectures
1396 sometimes missing compare-exchange operations.
1397
1398 * cancel.c (pthread_cancel): Validate handle argument.
1399 * join.c (pthread_join): Likewise.
1400 (pthread_detach): Likewise.
1401 * signals.c (pthread_kill): Likewise.
1402
1403 * spinlock.h (acquire): Use __sched_yield not sched_yield.
1404
1405 * queue.h (enqueue): Enqueue thread according to priority.
1406
1407 * internals.c (struct pthread_start_args): New struct for passing
1408 args to cloning function.
1409 (struct _pthread): Rename to _pthread_descr_struct and adapt for
1410 opaque pthread_t.
1411
1412 * Examples/Makefile (clean): Pass -f option to rm.
1413
1414 * sysdeps/i386/pt-machine.h: Add check for compare-exchange instruction
1415 and define TEST_FOR_COMPARE_AND_SWAP.
1416 * sysdeps/i386/i486/pt-machine.h: Removed.
1417
1418 * sysdeps/unix/sysv/linux/local_lim.h (PTHREAD_THREADS_MAX): Increase
1419 to 1024.
1420
14211997-04-04 16:38 Ulrich Drepper <drepper@cygnus.com>
1422
1423 * restart.h (suspend): Clear p_signal before suspending.
1424 (suspend_with_cancellation): Likewise.
1425 Patch by Xavier Leroy <Xavier.Leroy@inria.fr>.
1426
1427 * weaks.c: Make __pthread_key_create return 1.
1428 * sysdeps/pthread/libc-lock.h: Define __libc_key_create,
1429 __libc_getspecific, __libc_setspecific, and __libc_key_t.
1430 * sysdeps/pthread/stdio-lock.h: Don't care for implementation not
1431 using libio.
1432
14331997-03-19 15:13 Miguel de Icaza <miguel@nuclecu.unam.mx>
1434
1435 * sysdeps/sparc/pt-machine (RELEASE): Fix.
1436
14371997-03-01 07:55 Geoff Keating <geoffk@ozemail.com.au>
1438
1439 * sysdeps/powerpc/Implies: Added.
1440 * sysdeps/powerpc/pt-machine.h: Added.
1441 * sysdeps/powerpc/semaphorebits.h: Added.
1442
14431997-01-22 01:22 Ulrich Drepper <drepper@cygnus.com>
1444
1445 * linuxtheads/pthread.c (__pthread_initial_thread): Correct
1446 initializer.
1447 (__pthread_manager_thread): Likewise.
1448 Reported by Andreas Jaeger.
1449
14501997-01-18 22:15 Richard Henderson <rth@tamu.edu>
1451
1452 Since sigset_t no longer fits in a register, we can't pass in the
1453 thread's initial mask so easily. Take this opportunity to simplify
1454 the clone implementation by only accepting a single void* argument.
1455
1456 * linuxthreads/manager.c (__pthread_manager): Put thread vitals
1457 in the thread struct instead of as arguments through clone.
1458 (pthread_start_thread): Look for them there.
1459 * linuxthreads/internals.h (struct _pthread): Add p_initial_fn,
1460 p_initial_fn_arg, p_initial_mask. Fix __pthread_manager proto.
1461 * linuxthreads/pthread.c (pthread_initialize_manager): Revise
1462 clone invocation.
This page took 0.203336 seconds and 5 git commands to generate.