Initial revision
[glibc.git] / nptl / ChangeLog
blobe34cbcf1801b25b187186aac62ced828f2595224
1 2002-11-26  Ulrich Drepper  <drepper@redhat.com>
3         * allocatestack.c (queue_stack): Don't remove stack from list here.
4         Do it in the caller.  Correct condition to prematurely terminate
5         loop to free stacks.
6         (__deallocate_stack): Remove stack from list here.
8 2002-11-26  Ulrich Drepper  <drepper@redhat.com>
10         * Makefile (tests): Add tst-stack1.
11         * tst-stack1.c: New file.
13         * allocatestack.c (allocate_stack): Initialize the TCB on a user
14         provided stack.
16         * pthread_attr_getstack.c: Return bottom of the thread area.
18 2002-11-25  Ulrich Drepper  <drepper@redhat.com>
20         * Makefile (libpthread-routines): Add pt-allocrtsig and
21         pthread_kill_other_threads.
22         * pt-allocrtsig.c: New file.
23         * pthread_kill_other_threads.c: New file.
24         * sysdeps/unix/sysv/linux/allocrtsig.c: Add additional aliases for
25         all three functions.
26         * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Remove
27         allocrtsig.
28         * sysdeps/unix/sysv/linux/Versions (libc:GLIBC_PRIVATE): Export
29         __libc_current_sigrtmin_private, __libc_current_sigrtmax_private,
30         and __libc_allocate_rtsig_private.
31         * Versions (libpthread): Export pthread_kill_other_threads_np,
32         __libc_current_sigrtmin, and __libc_current_sigrtmax.
34 2002-11-24  Ulrich Drepper  <drepper@redhat.com>
36         * allocatestack.c (allocate_stack): stackaddr in attribute points to
37         the end of the stack.  Adjust computations.
38         When mprotect call fails dequeue stack and free it.
39         * pthread_attr_setstack.c: Store top of the stack in stackaddr
40         attribute.
41         * pthread_getattr_np.c: Likewise.
43         * descr.h (IS_DETACHED): Add some more parenthesis to prevent
44         surprises.
46 2002-11-23  Ulrich Drepper  <drepper@redhat.com>
48         * sysdeps/pthread/pthread.h (pthread_self): __THROW must come before
49         attribute definitions.  Patch by Luca Barbieri <ldb@ldb.ods.org>.
51 2002-11-22  Ulrich Drepper  <drepper@redhat.com>
53         * pthread_getspecific.c: Optimize access to first 2nd-level array.
54         * pthread_setspecific.c: Likewise.
56 2002-11-21  Ulrich Drepper  <drepper@redhat.com>
58         * sysdeps/unix/sysv/linux/i386/createthread.c: Remove CLONE_ flags
59         definitions.  Get them from the official place.
60         * sysdeps/unix/sysv/linux/i386/fork.c: Likewise.
62         * sysdeps/unix/sysv/linux/i386/createthread.c: Update CLONE_* flags.
63         Use new CLONE_ flags in clone() calls.
65         * sysdeps/unix/sysv/linux/fork.c: Use ARCH_FORK to actually fork.
66         * sysdeps/unix/sysv/linux/i386/fork.c: New file.
68         * Versions: Add pthread_* functions for libc.
69         * forward.c: New file.
71         * sysdeps/pthread/Makefile (libpthread-sysdeps_routines): Add
72         errno-loc.
73         * herrno.c: New file.
74         * res.c: New file.
76         * Makefile (libpthread-routines): Remove sem_post, sem_wait,
77         sem_trywait, and sem_timedwait.  Add herrno and res.
78         * sem_init.c: Don't initialize lock and waiters members.
79         * sem_open.c: Likewise.
80         * sem_post.c: Removed.
81         * sem_wait.c: Removed.
82         * sem_trywait.c: Removed.
83         * sem_timedwait.c: Removed.
84         * sysdeps/unix/sysv/linux/i386/i486/lowlevelsem.S: Complete rewrite.
85         Includes full implementations of sem_post, sem_wait, sem_trywait,
86         and sem_timedwait.
87         * sysdeps/unix/sysv/linux/i386/lowlevelsem.h (lll_sem_post): Adjust
88         for new implementation.
89         * sysdeps/unix/sysv/linux/internaltypes.h (struct sem): Remove lock
90         and waiters fields.
92         * tst-sem3.c: Improve error message.
93         * tst-signal3.c: Likewise.
95         * init.c (__pthread_initialize_minimal): Use set_tid_address syscall
96         to tell the kernel about the termination futex and to initialize tid
97         member.  Don't initialize main_thread.
98         * descr.h (struct pthread): Remove main_thread member.
99         * cancelllation.c (__do_cancel): Remove code handling main thread.
100         The main thread is not special anymore.
102         * allocatestack.c (__reclaim_stacks): Mark stacks as unused.  Add
103         size of the stacks to stack_cache_actsize.
105         * pt-readv.c: Add missing "defined".
106         * pt-sigwait.c: Likewise.
107         * pt-writev.c: Likewise.
109 2002-11-09  Ulrich Drepper  <drepper@redhat.com>
111         * Versions: Export __connect from libpthread.
112         Patch by Luca Barbieri <ldb@ldb.ods.org>.
114         * Makefile (libpthread-routines): Add pt-raise.
115         * sysdeps/unix/sysv/linux/raise.c: New file.
116         * sysdeps/unix/sysv/linux/pt-raise.c: New file.
117         * sysdeps/generic/pt-raise.c: New file.
119         * pthread_cond_init.c: Initialize all data elements of the condvar
120         structure.  Patch by Luca Barbieri <ldb@ldb.ods.org>.
122         * pthread_attr_init.c: Actually implement 2.0 compatibility version.
123         * pthread_create.c: Likewise.
125         * Makefile (tests): Add tst-key1, tst-key2, tst-key3.
126         * tst-key1.c: New file.
127         * tst-key2.c: New file.
128         * tst-key3.c: New file.
130         * Versions: Export pthread_detach for version GLIBC_2.0.
131         Reported by Saurabh Desai <sdesai@austin.ibm.com>.
133 2002-11-08  Ulrich Drepper  <drepper@redhat.com>
135         * pthread_key_create.c: Terminate search after an unused key was found.
136         Patch by Luca Barbieri <ldb@ldb.ods.org>.
138         * sysdeps/unix/sysv/linux/i386/pthread_once.S: Return zero.
139         Patch by Luca Barbieri <ldb@ldb.ods.org>.
141 2002-10-10  Ulrich Drepper  <drepper@redhat.com>
143         * sysdeps/unix/sysv/linux/i386/i486/lowlevelsem.S: Use slow generic
144         dynamic lookup for errno in PIC.
146         * allocatestack.c (get_cached_stack): Rearrange code slightly to
147         release the stack lock as soon as possible.
148         Call _dl_allocate_tls_init for TCB from the cache to re-initialize
149         the static TLS block.
150         (allocate_stack): Call _dl_allocate_tls_init for user-provided stack.
152         * cancellation.c: Renamed from cancelation.c.
153         * Makefile: Adjust accordingly.
154         * pthreadP.h (CANCELLATION_P): Renamed from CANCELATION_P.
155         * cleanup_defer.c: Use CANCELLATION_P.
156         * pthread_testcancel.c: Likewise.
157         * descr.h: Fix spelling in comments.
158         * init.c: Likewise.
159         * pthread_getattr_np.c: Likewise.
160         * pthread_getschedparam.c: Likewise.
161         * pthread_setschedparam.c: Likewise.
162         * Versions: Likewise.
164         * pt-pselect.c: New file.
165         * Makefile (libpthread-routines): Add pt-pselect.
166         * Versions: Add pselect.
168         * tst-cancel4.c: New file.
169         * Makefile (tests): Add tst-cancel4.
171 2002-10-09  Ulrich Drepper  <drepper@redhat.com>
173         * pthread_mutex_lock.c: Always record lock ownership.
174         * pthread_mutex_timedlock.c: Likewise.
175         * pthread_mutex_trylock.c: Likewise.
177         * pt-readv.c: New file.
178         * pt-writev.c: New file.
179         * pt-creat.c: New file.
180         * pt-msgrcv.c: New file.
181         * pt-msgsnd.c: New file.
182         * pt-poll.c: New file.
183         * pt-select.c: New file.
184         * pt-sigpause.c: New file.
185         * pt-sigsuspend.c: New file.
186         * pt-sigwait.c: New file.
187         * pt-sigwaitinfo.c: New file.
188         * pt-waitid.c: New file.
189         * Makefile (libpthread-routines): Add pt-readv, pt-writev, pt-creat,
190         pt-msgrcv, pt-msgsnd, pt-poll, pt-select, pt-sigpause, pt-sigsuspend,
191         pt-sigwait, pt-sigwaitinfo, and pt-waitid.
192         * Versions: Add all the new functions.
194         * tst-exit1.c: New file.
195         * Makefile (tests): Add tst-exit1.
197         * sem_timedwait.c: Minor optimization for more optimal fastpath.
199 2002-10-08  Ulrich Drepper  <drepper@redhat.com>
201         * pt-fcntl.c: Only enable asynchronous cancellation for F_SETLKW.
203         * pthread_join.c: Enable asynchronous cancellation around lll_wait_tid
204         call.  pthread_join is an official cancellation point.
205         * pthread_timedjoin.c: Likewise.
207         * pthread_cond_wait.c: Revert order in which internal lock are dropped
208         and the condvar's mutex are retrieved.
209         * pthread_cond_timedwait.c: Likewise.
210         Reported by dice@saros.East.Sun.COM.
212 2002-10-07  Ulrich Drepper  <drepper@redhat.com>
214         * pthreadP.h: Cut out all type definitions and move them...
215         * sysdeps/unix/sysv/linux/internaltypes.h: ...here.  New file.
216         * pthreadP.h: Include <internaltypes.h>.
218         * sysdeps/unix/sysv/linux/i386/lowlevelsem.h (lll_sem_post): Little
219         performance tweaks.
221         * sem_trywait.c: Shuffle #includes around to get right order.
222         * sem_timedwait.c: Likewise.
223         * sem_post.c: Likewise.
224         * sem_wait.c: Likewise.
226         * nptl 0.3 released.
228         * Makefile (tests): Add tst-signal3.
229         * tst-signal3.c: New file.
231 2002-10-05  Ulrich Drepper  <drepper@redhat.com>
233         * sysdeps/unix/sysv/linux/i386/lowlevelsem.h: Tell the compiler that
234         the asms modify the sem object.
235         (__lll_sem_timedwait): Now takes struct sem* as first parameter.
237         * sysdeps/unix/sysv/linux/i386/bits/semaphore.h (sem_t): Don't expose
238         the actual members.
239         * pthreadP.h (struct sem): New type.  Actual semaphore type.
240         * semaphoreP.h: Include pthreadP.h.
241         * sem_getvalue.c: Adjust to sem_t change.
242         * sem_init.c: Likewise.
243         * sem_open.c: Likewise.
244         * sem_post.c: Likewise.
245         * sem_timedwait.c: Likewise.
246         * sem_trywait.c: Likewise.
247         * sem_wait.c: Likewise.
249 2002-10-04  Ulrich Drepper  <drepper@redhat.com>
251         * Makefile (tests): Add tst-basic2, tst-exec1, tst-exec3, tst-exec3.
252         * tst-basic2.c: New file.
253         * tst-exec1.c: New file.
254         * tst-exec2.c: New file.
255         * tst-exec3.c: New file.
257         * tst-fork1.c: Remove extra */.
259         * nptl 0.2 released.  The API for IA-32 is complete.