]>
Commit | Line | Data |
---|---|---|
a6ff34d7 UD |
1 | 1998-12-02 H.J. Lu <hjl@gnu.org> |
2 | ||
3 | * pthread.c (__pthread_sig_restart): Initiliaze to 0 if | |
4 | SIGRTMIN is defined. | |
5 | (__pthread_sig_cancel): Likewise. | |
6 | ||
628a0aa1 UD |
7 | 1998-12-01 Andreas Jaeger <aj@arthur.rhein-neckar.de> |
8 | ||
9 | * wrapsyscall.c: Include <sys/mman.h> for msync, | |
10 | <stdlib.h> for system and <termios.h> for tcdrain prototype. | |
11 | Correct msync declaration. | |
12 | ||
348ed515 UD |
13 | 1998-11-29 Roland McGrath <roland@baalperazim.frob.com> |
14 | ||
15 | * sysdeps/pthread/bits/libc-tsd.h (__libc_tsd_define, __libc_tsd_get, | |
16 | __libc_tsd_set): New macros for new interface. | |
17 | * no-tsd.c: New file, provide uninitialized defns of | |
18 | __libc_internal_tsd_get and __libc_internal_tsd_set. | |
19 | * Makefile (routines): Add no-tsd. | |
20 | ||
21 | 1998-10-12 Roland McGrath <roland@baalperazim.frob.com> | |
22 | ||
23 | * internals.h: Include <bits/libc-tsd.h>, not <bits/libc-lock.h>. | |
24 | * sysdeps/pthread/bits/libc-lock.h (__libc_internal_tsd_get, | |
25 | __libc_internal_tsd_set): Move decls to ... | |
26 | * sysdeps/pthread/bits/libc-tsd.h: New file for __libc_internal_tsd_* | |
27 | declarations. | |
28 | ||
29 | * sysdeps/pthread/bits/libc-lock.h (__libc_internal_tsd_get, | |
30 | __libc_internal_tsd_set): Make these pointers to functions, not | |
31 | functions; remove #pragma weak decls for them. | |
32 | * specific.c (__libc_internal_tsd_get, __libc_internal_tsd_set): | |
33 | Define static functions and initialized pointers to them. | |
34 | ||
97dac76c UD |
35 | 1998-11-18 Ulrich Drepper <drepper@cygnus.com> |
36 | ||
37 | * Makefile (CFLAGS-mutex.c): Define as -D__NO_WEAK_PTHREAD_ALIASES. | |
38 | (CFLAGS-specific.c): Likewise. | |
39 | (CFLAGS-pthread.c): Likewise. | |
40 | (CFLAGS-ptfork.c): Likewise. | |
41 | (CFLAGS-cancel.c): Likewise. | |
42 | * sysdeps/pthread/bits/libc-lock.h: Don't mark __pthread_* functions | |
43 | as weak references if __NO_WEAK_PTHREAD_ALIASES is defined. | |
44 | ||
45 | * mutex.c (pthread_mutex_init): Define as strong symbol. | |
46 | (pthread_mutex_destroy): Likewise. | |
47 | (pthread_mutex_trylock): Likewise. | |
48 | (pthread_mutex_lock): Likewise. | |
49 | (pthread_mutex_unlock): Likewise. | |
50 | (pthread_mutexattr_init): Likewise. | |
51 | (pthread_mutexattr_destroy): Likewise. | |
52 | (pthread_once): Likewise. | |
53 | * ptfork.c (pthread_atfork): Likewise. | |
54 | * specific.c (pthread_key_create): Likewise. | |
55 | (pthread_setspecific): Likewise. | |
56 | (pthread_getspecific): Likewise. | |
57 | ||
8b7fb588 UD |
58 | 1998-11-15 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> |
59 | ||
60 | * linuxthreads.texi: Fix punctuation after xref. | |
61 | ||
d2537a47 UD |
62 | 1998-11-10 H.J. Lu <hjl@gnu.org> |
63 | ||
64 | * sysdeps/unix/sysv/linux/bits/local_lim.h: Undefine NR_OPEN | |
65 | if it is defined in <linux/limits.h>. | |
66 | ||
d5cabaa4 UD |
67 | 1998-10-29 14:28 Ulrich Drepper <drepper@cygnus.com> |
68 | ||
69 | * spinlock.h (__pthread_trylock): Define inline. | |
70 | (__pthread_lock): Add extra parameter to declaration. Declare | |
71 | using internal_function. | |
72 | (__pthread_unlock): Declare using internal_function. | |
73 | * spinlock.c (__pthread_lock): Add new parameter. Use it instead | |
74 | of local variable self. Avoid recomputing self. Define using | |
75 | internal_function. | |
76 | (__pthread_trylock): Remove. | |
77 | (__pthread_unlock): Define using internal_function. | |
78 | * cancel.c: Adjust for __pthread_lock interface change. Use already | |
79 | computed self value is possible. | |
80 | * condvar.c: Likewise. | |
81 | * join.c: Likewise. | |
82 | * manager.c: Likewise. | |
83 | * mutex.c: Likewise. | |
84 | * pthread.c: Likewise. | |
85 | * rwlock.c: Likewise. | |
86 | * semaphore.c: Likewise. | |
87 | * signals.c: Likewise. | |
88 | ||
c70ca1fa UD |
89 | 1998-10-27 13:46 Ulrich Drepper <drepper@cygnus.com> |
90 | ||
91 | * sysdeps/pthread/pthread.h (struct _pthread_cleanup_buffer): Prepend | |
92 | __ to field names of the struct. | |
93 | * sysdeps/pthread/bits/pthreadtypes.h (struct _pthread_fastlock): | |
94 | Likewise. | |
95 | (pthread_attr_t): Likewise. | |
96 | (pthread_cond_t): Likewise. | |
97 | (pthread_condattr_t): Likewise. | |
98 | (pthread_mutex_t): Likewise. | |
99 | (pthread_mutexattr_t): Likewise. | |
100 | (pthread_rwlock_t): Likewise. | |
101 | (pthread_rwlockattr_t): Likewise. | |
102 | * attr.c: Adjust for pthread.h and pthreadtypes.h change. | |
103 | * cancel.c: Likewise. | |
104 | * condvar.c: Likewise. | |
105 | * manager.c: Likewise. | |
106 | * mutex.c: Likewise. | |
107 | * pthread.c: Likewise. | |
108 | * ptlongjmp.c: Likewise. | |
109 | * rwlock.c: Likewise. | |
110 | * spinlock.c: Likewise. | |
111 | ||
a5d1d726 UD |
112 | 1998-10-09 Ulrich Drepper <drepper@cygnus.com> |
113 | ||
7ccc548b UD |
114 | * sysdeps/i386/pt-machine.h (get_eflags, set_eflags): Mark these |
115 | also with PT_EI. | |
116 | ||
a5d1d726 UD |
117 | * sysdeps/i386/i686/pt-machine.h: Remove unused inline |
118 | definitions. | |
119 | ||
9a29bc37 UD |
120 | * Makefile (libpthread-routines): Add pt-machine. |
121 | * pt-machine.c: New file. | |
122 | * sysdeps/alpha/pt-machine.h: Define PT_EI as extern inline is not | |
123 | yet defined. Use PT_EI in extern inline definitions. | |
124 | * sysdeps/arm/pt-machine.h: Likewise. | |
125 | * sysdeps/i386/pt-machine.h: Likewise. | |
126 | * sysdeps/i386/i686/pt-machine.h: Likewise. | |
127 | * sysdeps/m68k/pt-machine.h: Likewise. | |
128 | * sysdeps/mips/pt-machine.h: Likewise. | |
129 | * sysdeps/powerpc/pt-machine.h: Likewise. | |
130 | * sysdeps/sparc/sparc32/pt-machine.h: Likewise. | |
131 | * sysdeps/sparc/sparc64/pt-machine.h: Likewise. | |
132 | ||
c10bb795 UD |
133 | 1998-10-02 Andreas Jaeger <aj@arthur.rhein-neckar.de> |
134 | ||
135 | * semaphore.h: Include <sys/types.h> so that _pthread_descr | |
136 | is declared. | |
137 | ||
138 | 1998-09-15 David S. Miller <davem@pierdol.cobaltmicro.com> | |
139 | ||
140 | * sysdeps/sparc/sparc32/pt-machine.h (INIT_THREAD_SELF): Add nr | |
141 | argument. | |
142 | * sysdeps/sparc/sparc64/pt-machine.h (INIT_THREAD_SELF): Likewise. | |
143 | ||
144 | 1998-09-12 14:24 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu> | |
145 | ||
146 | * linuxthreads/sysdeps/unix/sysv/linux/bits/sigthread.h: Add | |
147 | multiple inclusion guard. | |
148 | ||
5e0889da UD |
149 | 1998-09-02 11:08 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> |
150 | ||
151 | * signals.c (sigaction): Check that sig is less than NSIG to avoid | |
152 | array index overflow. | |
153 | ||
6796bc80 UD |
154 | 1998-09-06 10:56 Ulrich Drepper <drepper@cygnus.com> |
155 | ||
156 | * sysdeps/pthread/semaphore.h: New file. | |
157 | ||
be935610 UD |
158 | 1998-09-06 09:08 Ulrich Drepper <drepper@cygnus.com> |
159 | ||
160 | * sysdeps/pthread/bits/libc-lock.h (enum __libc_tsd_key_t): Add | |
161 | _LIBC_TSD_KEY_DL_ERROR. | |
162 | ||
bfce746a UD |
163 | 1998-08-31 Ulrich Drepper <drepper@cygnus.com> |
164 | ||
7afab53d | 165 | * sysdeps/i386/i686/pt-machine.h (testandset): Add memory clobber. |
6a805a0b | 166 | * sysdeps/i386/pt-machine.h: Likewise. |
bfce746a UD |
167 | Suggested by Roland McGrath. |
168 | ||
75311719 UD |
169 | 1998-08-28 13:58 Ulrich Drepper <drepper@cygnus.com> |
170 | ||
171 | * internals.h: Also define THREAD_GETMEM_NC and THREAD_SETMEM_NC to | |
172 | access thread data with non-constant offsets. | |
173 | * specific.c: Use THREAD_GETMEM_NC and THREAD_SETMEM_NC where | |
174 | necessary. | |
175 | ||
176 | * sysdeps/i386/useldt.h: Fix typo. Add THREAD_GETMEM_NC and | |
177 | THREAD_SETMEM_NC definitions. | |
178 | ||
179 | * sysdeps/sparc/sparc32/pt-machine.h: Define THREAD_GETMEM_NC and | |
180 | THREAD_SETMEM_NC. | |
181 | * sysdeps/sparc/sparc64/pt-machine.h: Likewise. | |
182 | ||
00a2f9aa UD |
183 | 1998-08-26 15:46 Ulrich Drepper <drepper@cygnus.com> |
184 | ||
185 | * internals.h: Define THREAD_GETMEM and THREAD_SETMEM to default if | |
186 | not already defined. | |
187 | (struct _pthread_descr_struct): Add p_self and p_nr field. | |
188 | * manager.c (__pthread_handles): Define second element to point | |
189 | to manager thread. | |
190 | (__pthread_handles_num): Initialize to 2. | |
191 | (__pthread_manager): Use INIT_THREAD_SELF with two arguments. | |
192 | (pthread_start_thread): Likewise. | |
193 | (pthread_handle_create): Start search for free slot at entry 2. | |
194 | Initialize new fields p_self and p_nr. | |
195 | Call __clone with CLONE_PTRACE if available. | |
196 | (pthread_free): Call FREE_THREAD_SELF if available. | |
197 | * pthread.c (__pthread_initial_thread): Initialize new fields. | |
198 | (__pthread_manager_thread): Likewise. | |
199 | (__pthread_initialize_manager): Call __clone with CLONE_PTRACE. | |
200 | ||
201 | * cancel.c: Use THREAD_GETMEM and THREAD_SETMEM to access the | |
202 | elements of the thread descriptor. | |
203 | * condvar.c: Likewise. | |
204 | * errno.c: Likewise. | |
205 | * join.c: Likewise. | |
206 | * manager.c: Likewise. | |
207 | * pthread.c: Likewise. | |
208 | * ptlongjmp.c: Likewise. | |
209 | * semaphore.c: Likewise. | |
210 | * signals.c: Likewise. | |
211 | * specific.c: Likewise. | |
212 | * spinlock.c: Likewise. | |
213 | ||
214 | * sysdeps/alpha/pt-machine.h (INIT_THREAD_SELF): Add extra parameter. | |
215 | ||
216 | * sysdeps/i386/useldt.h: New file. | |
217 | * sysdeps/i386/i686/pt-machine.h: Show how to use this file. | |
218 | ||
219 | * sysdeps/sparc/sparc32/pt-machine.h: Define THREAD_GETMEM and | |
220 | THREAD_SETMEM using __thread_self. | |
221 | * sysdeps/sparc/sparc64/pt-machine.h: Likewise. | |
222 | ||
ed1ac6a2 UD |
223 | 1998-08-24 Geoff Keating <geoffk@ozemail.com.au> |
224 | ||
225 | * spinlock.c (__pthread_lock): Reset p_nextwaiting to NULL if it | |
226 | turned out that we didn't need to queue after all. | |
227 | ||
228 | 1998-08-22 Geoff Keating <geoffk@ozemail.com.au> | |
229 | ||
230 | * sysdeps/powerpc/pt-machine.h: Remove testandset, it's not used | |
231 | and wastes space; correct types. | |
232 | ||
cf0fd016 UD |
233 | 1998-08-08 11:18 H.J. Lu <hjl@gnu.org> |
234 | ||
235 | * signals.c (sigaction): Handle NULL argument. | |
236 | ||
d358336f UD |
237 | 1998-08-04 Ulrich Drepper <drepper@cygnus.com> |
238 | ||
239 | * sysdeps/unix/sysv/linux/bits/sigthread.h: Use __sigset_t instead | |
240 | of sigset_t. | |
241 | ||
7cabd57c UD |
242 | 1998-08-02 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> |
243 | ||
244 | * Makefile (linuxthreads-version): Extract correct number from | |
245 | Banner. | |
246 | ||
ddbf7fef UD |
247 | 1998-07-29 Xavier Leroy <Xavier.Leroy@inria.fr> |
248 | ||
249 | * Banner: Bump version number to 0.8 | |
250 | * FAQ.html: Many updates, in particular w.r.t. debugging. | |
251 | * manager.c: Support for non-default stacksize for | |
252 | LinuxThreads-allocated stacks; | |
253 | don't use guard pages for stacks with default size, rely on | |
254 | rlimit(RLIMIT_STACK) instead (it's cheaper). | |
255 | * attr.c: Likewise. | |
256 | * cancel.c: Use __pthread_sig_cancel and __pthread_sig_restart | |
257 | everywhere instead of PTHREAD_SIG_CANCEL and PTHREAD_SIG_RESTART. | |
258 | * condvar.c: Likewise. | |
259 | * internals.h: Likewise. | |
260 | * restart.h: Likewise. | |
261 | * signals.c: Likewise. | |
262 | * pthread.c: Likewise; set rlimit(RLIMIT_STACK) as we need it. | |
263 | ||
6c202c68 UD |
264 | 1998-07-23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> |
265 | ||
266 | * weaks.c: Define pthread_mutexattr_[sg]ettype instead of | |
267 | __pthread_mutexattr_[sg]ettype. Add more weak aliases. | |
268 | * Versions: Put __pthread_mutexattr_settype under version | |
269 | GLIBC_2.0. Don't export __pthread_mutexattr_setkind_np and | |
270 | __pthread_mutexattr_gettype. | |
271 | ||
272 | 1998-07-23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> | |
273 | ||
274 | * sysdeps/pthread/bits/libc-lock.h: Make | |
275 | __pthread_mutexattr_settype weak. Don't make | |
276 | __pthread_mutexattr_setkind_np weak. | |
277 | ||
50304ef0 UD |
278 | 1998-07-16 10:52 Ulrich Drepper <drepper@cygnus.com> |
279 | ||
280 | * manager.c (pthread_handle_create): Check whether sched_setscheduler | |
281 | call can succeed here. | |
282 | ||
283 | * mutex.c: Define __pthread_mutexattr_settype and make | |
284 | __pthread_mutexattr_setkind_np an alias. | |
285 | Likewise for __pthread_mutexattr_gettype. | |
286 | ||
287 | 1998-07-15 11:00 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu> | |
288 | ||
289 | * attr.c (pthread_attr_setschedpolicy): Don't check whether caller | |
290 | is root. | |
291 | ||
c764b9a7 UD |
292 | 1998-07-14 19:38 Ulrich Drepper <drepper@cygnus.com> |
293 | ||
294 | * sysdeps/pthread/bits/libc-lock.h: Define __libc_cleanup_end. | |
295 | ||
ceb27555 UD |
296 | 1998-07-11 Andreas Jaeger <aj@arthur.rhein-neckar.de> |
297 | ||
298 | * Examples/ex6.c: Include <unistd.h> for usleep. | |
299 | ||
b1209f90 UD |
300 | 1998-06-13 11:04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> |
301 | ||
302 | * Examples/ex4.c (main): Use exit, not pthread_exit. | |
303 | ||
6077fe6e UD |
304 | 1998-07-09 13:39 Ulrich Drepper <drepper@cygnus.com> |
305 | ||
306 | * Versions: Add __pthread_mutexattr_gettype and | |
307 | __pthread_mutexattr_settype. | |
308 | * lockfile.c: Use __pthread_mutexattr_settype instead of | |
309 | __pthread_mutexattr_setkind_np. | |
310 | * mutex.c: Define __pthread_mutexattr_gettype and | |
311 | __pthread_mutexattr_settype. | |
312 | * weak.c: Likewise. | |
e918a7fe UD |
313 | * sysdeps/pthread/pthread.h: Declare __pthread_mutexattr_gettype and |
314 | __pthread_mutexattr_settype. | |
315 | * sysdeps/pthread/bits/libc-lock.h (__libc_lock_init_recursive): | |
316 | Use __pthread_mutexattr_settype. | |
6077fe6e | 317 | |
4bae5567 UD |
318 | 1998-07-08 22:26 Ulrich Drepper <drepper@cygnus.com> |
319 | ||
320 | * Versions: Add pthread_mutexattr_gettype, pthread_mutexattr_settype. | |
321 | * mutex.c: Define weak alias pthread_mutexattr_gettype and | |
322 | pthread_mutexattr_settype. | |
323 | * sysdeps/pthread/pthread.h: Declare these functions. | |
324 | Move pthread_sigmask and pthread_kill declaration in separate header. | |
325 | * sysdeps/unix/sysv/linux/bits/sigthread.h: New file. | |
326 | ||
0302fece UD |
327 | 1998-07-07 15:20 Ulrich Drepper <drepper@cygnus.com> |
328 | ||
329 | * Makefile: Add rules to compile and run tests. | |
330 | * Examples/ex1.c: Little changes to fix warnings. | |
331 | * Examples/ex2.c: Likewise. | |
332 | * Examples/ex3.c: Likewise. | |
333 | * Examples/ex4.c: Likewise. | |
334 | * Examples/ex5.c: Likewise. | |
335 | * Examples/ex6.c: New file. | |
336 | ||
77ccaba1 UD |
337 | 1998-07-05 11:54 Ulrich Drepper <drepper@cygnus.com> |
338 | ||
6777b467 | 339 | * Versions: Add pthread_attr_init to GLIBC_2.1 version in libc. |
77ccaba1 | 340 | |
ba9234d9 UD |
341 | 1998-07-01 Andreas Jaeger <aj@arthur.rhein-neckar.de> |
342 | ||
343 | * attr.c: Include <string.h>. | |
344 | ||
d64fae6a UD |
345 | 1998-06-30 11:47 Ulrich Drepper <drepper@cygnus.com> |
346 | ||
347 | * attr.c: Include errno.h. Use memcpy to copy sched_param. | |
348 | * internals.h: Include limits.h. | |
349 | * manager.c: Use memcpy to copy sched_param. | |
350 | * ptfork.c: Include errno.h. | |
351 | * pthread.c: Likewise. | |
352 | * semaphore.c: Likewise. | |
353 | * specific.c: Likewise. | |
354 | * spinlock.h: Likewise. | |
355 | * sysdeps/pthread/pthread.h: Include only allowed headers. Move | |
356 | type definition to ... | |
357 | * sysdeps/pthread/bits/pthreadtypes.h: ...here. New file. | |
358 | ||
fdacb17d UD |
359 | 1998-06-29 12:34 Ulrich Drepper <drepper@cygnus.com> |
360 | ||
361 | * sysdeps/pthread/pthread.h: Use __PMT not __P for function pointers. | |
362 | ||
363 | * sysdeps/pthread/pthread.h: Define various PTHREAD_* symbols also | |
364 | as macros as demanded in POSIX.1, Annex C. | |
365 | ||
366 | 1998-06-29 12:29 Ulrich Drepper <drepper@cygnus.com> | |
367 | ||
368 | * internals.h (struct pthread_request): For free use pthread_t | |
369 | instead of pthread_descr. | |
370 | * join.c (pthread_join): Pass thread_id, not th to manager. | |
371 | (pthread_detach): Likewise. | |
372 | * manager.c (__pthread_manager): Except thread ID in FREE_REQ case. | |
373 | (pthread_exited): Remove detached queue code. | |
374 | (pthread_handle_free): Expect thread ID parameter and use it to | |
375 | validate the thread decsriptor. Don't use detached queue. | |
376 | Patches by Xavier Leroy. | |
377 | ||
378 | 1998-06-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> | |
379 | ||
380 | * libpthread.map: Export accept, longjmp, sigaction, siglongjmp, | |
381 | _IO_flockfile, _IO_ftrylockfile, _IO_funlockfile, | |
382 | __pthread_atfork, __pthread_key_create, __pthread_once. | |
383 | * internals.h: Doc fix. | |
384 | * pthread.c (__pthread_initialize): Define again. | |
385 | ||
e138a800 UD |
386 | 1998-06-26 Ulrich Drepper <drepper@cygnus.com> |
387 | ||
026d5011 UD |
388 | * manager.c (pthread_exited): If thread is not detached put it on |
389 | special list. | |
390 | (pthread_handle_free): If thread is not on list with living threads | |
391 | search on list with detached threads. | |
392 | ||
b195f6bc UD |
393 | * sysdeps/pthread/pthread.h (PTHREAD_RWLOCK_INITIALIZER): Correct |
394 | for new definition of pthread_rwlock_t. | |
395 | ||
e138a800 UD |
396 | * spinlock.c: Correct test whether to compile |
397 | __pthread_compare_and_swap or not. | |
398 | ||
3387a425 UD |
399 | 1998-06-25 19:27 Ulrich Drepper <drepper@cygnus.com> |
400 | ||
401 | * attr.c: Finish user stack support. Change locking code to be safe | |
402 | in situations with different priorities. | |
403 | * cancel.c: Likewise. | |
404 | * condvar.c: Likewise. | |
405 | * internals.h: Likewise. | |
406 | * join.c: Likewise. | |
407 | * manager.c: Likewise. | |
408 | * mutex.c: Likewise. | |
409 | * pthread.c: Likewise. | |
410 | * ptlongjmp.c: Likewise. | |
411 | * queue.h: Likewise. | |
412 | * rwlock.c: Likewise. | |
413 | * semaphore.c: Likewise. | |
414 | * semaphore.h: Likewise. | |
415 | * signals.c: Likewise. | |
416 | * spinlock.c: Likewise. | |
417 | * spinlock.h: Likewise. | |
75c3a84f | 418 | * sysdeps/pthread/pthread.h: Likewise. |
df4099e8 | 419 | Patches by Xavier Leroy. |
3387a425 | 420 | |
0ca7e46e | 421 | * sysdeps/i386/i686/pt-machine.h: New file. |
75c3a84f | 422 | |
3387a425 UD |
423 | 1998-06-25 Ulrich Drepper <drepper@cygnus.com> |
424 | ||
425 | * sysdeps/pthread/pthread.h: Make [sg]et_stacksize and | |
426 | [sg]et_stackaddr prototypes always available. | |
427 | ||
428 | * sysdeps/unix/sysv/linux/bits/posix_opt.h: Define | |
429 | _POSIX_THREAD_ATTR_STACKSIZE and _POSIX_THREAD_ATTR_STACKADDR. | |
430 | ||
d47aac39 UD |
431 | 1998-06-24 Ulrich Drepper <drepper@cygnus.com> |
432 | ||
433 | * manager.c (pthread_free): Undo patch from 980430. | |
434 | Reported by David Wragg <dpw@doc.ic.ac.uk>. | |
435 | ||
69f234e8 UD |
436 | 1998-06-09 15:07 Ulrich Drepper <drepper@cygnus.com> |
437 | ||
438 | * manager.c: Define __pthread_manager_adjust_prio and use it to | |
439 | increase priority when needed. | |
440 | * internals.h: Add prototype for __pthread_manager_adjust_prio. | |
441 | * mutex.c: Optimize mutexes to wake up only one thread. | |
768cbca8 | 442 | * pthread.c: Move PID of manager for global variable in structure |
69f234e8 UD |
443 | element. |
444 | Patches by Xavier Leroy. | |
445 | ||
c0fb8a56 UD |
446 | 1998-06-07 13:47 Ulrich Drepper <drepper@cygnus.com> |
447 | ||
448 | * sysdeps/pthread/bits/libc-lock.h: Optimize cleanup handlers a bit. | |
449 | ||
c6bd526f UD |
450 | 1998-06-03 Andreas Jaeger <aj@arthur.rhein-neckar.de> |
451 | ||
452 | * attr.c: Correct typo. | |
453 | ||
f9119f49 UD |
454 | 1998-05-01 Ulrich Drepper <drepper@cygnus.com> |
455 | ||
456 | * manager.c (pthread_free): Unmap guard before the stack. | |
457 | Patch by Matthias Urlichs. | |
458 | ||
3dd2c3e2 UD |
459 | 1998-04-30 Ulrich Drepper <drepper@cygnus.com> |
460 | ||
461 | * manager.c (pthread_free): Detect already free child. | |
462 | Patch by Xavier Leroy, reported by Matthias Urlichs. | |
463 | ||
0111b224 UD |
464 | 1998-04-23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> |
465 | ||
466 | * Makefile (linuxthreads-version): Renamed back from | |
467 | libpthread-version. | |
468 | ||
f12944ec UD |
469 | 1998-04-21 Ulrich Drepper <drepper@cygnus.com> |
470 | ||
26e119f1 | 471 | * ptlongjmp.c: Add prototypes for __libc_siglongjmp and |
f12944ec UD |
472 | __libc_longjmp. |
473 | ||
8619129f UD |
474 | 1998-04-20 14:55 Ulrich Drepper <drepper@cygnus.com> |
475 | ||
476 | * Makefile (libpthread-routines): Add ptlongjmp and spinlock. | |
477 | * internals.h: Add definitions for new spinlock implementation. | |
478 | * ptlongjmp.c: New file. | |
479 | * spinlock.c: New file. | |
480 | * spinlock.h (acquire): Don't reschedule using __sched_yield, use | |
481 | new function __pthread_acquire to prevent deadlocks with thread | |
482 | with different priorities. | |
483 | Patches by Xavier Leroy <Xavier.Leroy@inria.fr>. | |
484 | ||
52cda958 UD |
485 | 1998-03-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> |
486 | ||
487 | * manager.c (__pthread_manager): Reduce first argument to select | |
488 | to include just the needed file descriptor. | |
489 | ||
48fc3dd2 UD |
490 | 1998-03-17 00:06 Ulrich Drepper <drepper@cygnus.com> |
491 | ||
492 | * manager.c: Fix last patch which caused core dumps. | |
493 | ||
494 | * pthread.c: Correctly handle missing SIGRTMIN. | |
495 | ||
f649c201 UD |
496 | 1998-03-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> |
497 | ||
498 | * libpthread.map: Add __libc_internal_tsd_get and | |
499 | __libc_internal_tsd_set. Add missing cancelable functions. Export | |
500 | libc internal versions of the cancelable functions. | |
501 | ||
14c44e2e UD |
502 | 1998-03-13 16:51 Ulrich Drepper <drepper@cygnus.com> |
503 | ||
504 | * weaks.c: Define pthread_attr_init as GLIBC_2.0 and GLIBC_2.1. | |
505 | ||
5d409851 UD |
506 | 1998-03-13 00:46 Ulrich Drepper <drepper@cygnus.com> |
507 | ||
508 | * attr.c: Implement pthread_attr_[gs]etguardsize, | |
509 | pthread_attr_[gs]setstackaddr, pthread_attr_[gs]etstacksize. | |
510 | Change pthread_attr_init to have two interfaces. | |
511 | * internals.h (struct _pthread_descr_struct): Add new fields for | |
512 | above functions. | |
513 | * libpthread.map: Add names in GLIBC_2.1 section. | |
514 | * manager.c (pthread_handle_create): Implement guardsize and | |
515 | user stack. | |
516 | (pthread_free): Likewise. | |
517 | * pthread.c (pthread_create): Add new interface for changed | |
518 | pthread_attr_t. | |
519 | * sysdeps/pthread/pthread.h: Add prototypes for new functions. | |
520 | * sysdeps/unix/sysv/linux/bits/local_lim.h: Add definition of | |
521 | PTHREAD_STACK_MIN. | |
522 | ||
5afdca00 UD |
523 | 1998-03-11 00:42 Wolfram Gloger <wmglo@dent.med.uni-muenchen.de> |
524 | ||
5d409851 UD |
525 | * manager.c: Enable resetting of the thread scheduling policy |
526 | to SCHED_OTHER when the parent thread has a different one. | |
5afdca00 UD |
527 | |
528 | 1998-02-01 13:51 Ulrich Drepper <drepper@cygnus.com> | |
529 | ||
530 | * sysdeps/unix/sysv/linux/bits/posix_opt.h: Define | |
531 | _POSIX_ASYNCHRONOUS_IO. | |
532 | ||
533 | * sysdeps/pthread/pthread.h: Define bits for Unix98 variants of | |
534 | mutexes. | |
535 | * mutex.c: Implement new mutex types. | |
536 | ||
537 | * internals.h: Include <signal.h>. | |
538 | ||
539 | * libpthread.map: Add __erno_location and __h_errno_location. | |
540 | ||
541 | * errno.c: Return pointer to variable actually in use. This might | |
542 | not be the one in the thread structure. | |
543 | * internals.h (struct _pthread_descr_struct): Add new fields p_errnop | |
544 | and p_h_errnop. | |
545 | * manager.c (__pthread_manager): Set p_errnop and p_h_errnop member | |
546 | of manager thread structure. | |
547 | (pthread_handle_create): Set p_errnop and p_h_errnop members for new | |
548 | thread. | |
549 | * pthread.c: Adapt initializer for thread structures. | |
550 | (__pthread_initial_thread): Set p_errnop and p_h_errnop member. | |
551 | (__pthread_reset_main_thread): Reset p_errnop and p_h_errnop of | |
552 | current thread to global variables. | |
553 | ||
554 | 1998-01-31 17:27 Ulrich Drepper <drepper@cygnus.com> | |
555 | ||
556 | * rwlock.c: New file. | |
557 | * Makefile (libpthread-routines): Add rwlock. | |
558 | * sysdeps/pthread/pthread.h: Define data structures and declare | |
559 | functions. | |
560 | * libpthread.map: Add new functions. | |
561 | ||
562 | 1997-12-18 13:50 Philip Blundell <pb@nexus.co.uk> | |
563 | ||
564 | * sysdeps/arm/pt-machine.h: New file; add ARM support. | |
565 | * sysdeps/arm/Implies: likewise. | |
566 | * README: Document it. | |
567 | ||
568 | 1997-12-13 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> | |
569 | ||
570 | * signals.c: Remove unneeded initializer for sigwaited, saving a | |
571 | warning. | |
572 | ||
573 | 1997-04-11 01:18 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> | |
574 | ||
575 | * semaphore.c (sem_init): Set sem_spinlock only if available. | |
576 | ||
577 | 1997-12-04 01:48 Ulrich Drepper <drepper@cygnus.com> | |
578 | ||
579 | * mutex.c: Implement PTHREAD_MUTEX_CHECKERROR. | |
580 | * sysdeps/pthread/pthread.h: Define PTHREAD_MUTEX_CHECKERROR. | |
581 | ||
582 | * Makefile: Update from LinuxThreads 0.7. | |
583 | * internals.h. Likewise. | |
584 | * manager.c: Likewise. | |
585 | * mutex.c: Likewise. | |
586 | * pthread.c: Likewise. | |
587 | * signals.c: Likewise. | |
588 | * specific.c: Likewise. | |
589 | * Examples/ex3.c: Likewise. | |
590 | ||
591 | 1997-11-20 18:13 Ulrich Drepper <drepper@cygnus.com> | |
592 | ||
593 | * pthread.c (__pthread_reset_main_thread): Close pipe only if still | |
594 | open. | |
595 | ||
596 | 1997-10-29 05:38 Ulrich Drepper <drepper@cygnus.com> | |
597 | ||
598 | * wrapsyscall.c: Add socket functions which are also cancelation | |
599 | points. | |
600 | ||
601 | 1997-10-19 21:40 Wolfram Gloger <wg@wolfram.dent.med.uni-muenchen.de> | |
602 | ||
603 | * specific.c (__libc_internal_tsd_set, __libc_internal_tsd_get): | |
604 | New functions for fast thread specific data within libc. | |
605 | ||
606 | * internals.h: Add new array p_libc_specific to struct | |
607 | _pthread_descr_struct. | |
608 | ||
609 | * sysdeps/pthread/bits/libc-lock.h: Declare new functions. | |
610 | ||
611 | 1997-10-13 05:39 Ulrich Drepper <drepper@cygnus.com> | |
612 | ||
613 | * semaphore.h: Add __BEGIN_DECLS/__END_DECLS. | |
614 | Reported by Ralf Corsepius <corsepiu@faw.uni-ulm.de>. | |
615 | ||
616 | 1997-08-29 03:05 Ulrich Drepper <drepper@cygnus.com> | |
617 | ||
618 | * internals.h (struct _pthread_descr_struct): Add definitions for | |
619 | two-level specific key handling. | |
620 | * manager.c (pthread_handle_create): Initialize specific memory array. | |
621 | * specific.c: Implement two-level key handling. | |
622 | * weaks.c: Don't provide dummy key handling. | |
623 | * sysdeps/pthread/bits/libc-lock.h: Typedef __libc_lock_t (no #define). | |
624 | Add definition of __libc_key_t. | |
625 | * sysdeps/unix/sysv/linux/bits/local_lim.h: Define PTHREAD_KEYS_MAX | |
626 | as 1024. | |
627 | Add definition of _POSIX_THREAD_DESTRUCTOR_ITERATIONS and | |
628 | PTHREAD_DESTRUCTOR_ITERATIONS. | |
629 | ||
630 | * manager.c (pthread_handle_create): Compare mmap result with | |
631 | MAP_FAILED. | |
632 | ||
633 | * ptfork.c: Rename to __pthread_atfork and make old name a weak alias. | |
634 | * sysdeps/pthread/bits/pthread.h: Add prototype for __pthread_atfork. | |
635 | ||
636 | 1997-08-22 19:04 Richard Henderson <rth@cygnus.com> | |
637 | ||
638 | sysdeps/sparc -> sysdeps/sparc/sparc32 | |
639 | sysdeps/sparc64 -> sysdeps/sparc/sparc64 | |
640 | ||
641 | * internals.h: Change definition of THREAD_SELF to be an expression, | |
642 | not a statement that did a return. | |
643 | * sysdeps/alpha/pt-machine.h (THREAD_SELF): Update accordingly. | |
644 | * sysdeps/sparc/sparc32/pt-machine.h (THREAD_SELF, INIT_THREAD_SELF): | |
645 | Follow Solaris and use a "system reserved" register (%g6) to hold | |
646 | the thread descriptor. | |
647 | * sysdeps/sparc/sparc64/pt-machine.h: Likewise. | |
648 | ||
649 | 1997-08-03 00:09 Ulrich Drepper <drepper@cygnus.com> | |
650 | ||
651 | * mutex.c: Correct pthread_once. Patch by Xavier Leroy. | |
652 | * sysdeps/pthread/pthread.h: Add prototype for __pthread_once. | |
653 | * sysdeps/pthread/bits/pthread.h: Add macros for __libc_once. | |
654 | ||
655 | * semaphore.c: Include spinlock.h only when needed. | |
656 | ||
657 | * specific.c (__pthread_setsepcific, __pthread_getspecific): Reject | |
658 | keys for entries not in use. | |
659 | ||
660 | * weaks.c: Implement key handling functions for real. | |
661 | ||
662 | 1997-06-29 01:04 Richard Henderson <richard@gnu.ai.mit.edu> | |
663 | ||
664 | Initial sparc64-linux support: | |
665 | * linuxthreads/sysdeps/sparc64/Implies: New file. | |
666 | * linuxthreads/sysdeps/sparc64/pt-machine.h: Likewise. | |
667 | ||
668 | 1997-06-29 00:48 Ulrich Drepper <drepper@cygnus.com> | |
669 | ||
670 | * semaphore.c: Include spinlock.h at correct place. | |
671 | Patch by HJ Lu. | |
672 | ||
673 | 1997-06-13 10:06 Richard Henderson <rth@tamu.edu> | |
674 | ||
675 | The Great Bit File Move: | |
676 | * sysdeps/alpha/semaphorebits.h: -> .../bits/semaphore.h. | |
677 | * sysdeps/powerpc/semaphorebits.h: Likewise. | |
678 | * sysdeps/pthread/cmpxchg/semaphorebits.h: Likewise. | |
679 | * sysdeps/pthread/no-cmpxchg/semaphorebits.h: Likewise. | |
680 | * sysdeps/pthread/libc-lock.h: -> bits/ | |
681 | * sysdeps/pthread/stdio-lock.h: Likewise. | |
682 | * sysdeps/unix/sysv/linux/local_lim.h: Likewise. | |
683 | * sysdeps/unix/sysv/linux/posix_opt.h: Likewise. | |
684 | * semaphore.h: Likewise. | |
685 | * sysdeps/pthread/pthread.h: Likewise. | |
686 | ||
687 | * lockfile.c: <foo.h> -> <bits/foo.h>. | |
688 | * semaphore.h: Likewise. | |
689 | ||
690 | * Makefile: (headers): foo.h -> bits/foo.h. | |
691 | * sysdeps/pthread/Makefile: Likewise. | |
692 | ||
693 | 1997-04-11 01:18 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> | |
694 | ||
695 | * semaphore.c (sem_init): Set sem_spinlock only if available. | |
696 | ||
697 | * sysdeps/m68k/pt-machine.h (testandset, __compare_and_swap): Fix | |
698 | asm constraints. | |
699 | ||
700 | 1997-04-09 03:00 Ulrich Drepper <drepper@cygnus.com> | |
701 | ||
702 | Update from LinuxThreads 0.6. | |
703 | ||
704 | * attr.c (pthread_attr_getdetachstate): Use __sched_get_priority_max | |
705 | and __sched_get_priority_min instead of names without `__'. | |
706 | ||
707 | * manager.c: Rewrite large parts to implement opaque pthread_t. | |
708 | ||
709 | * cancel.c: Adapt for opaque pthread_t type. | |
710 | * condvar.c: Likewise. | |
711 | * errno.c: Likewise. | |
712 | * join.c: Likewise. | |
713 | * mutex.c: Likewise. | |
714 | * pthread.c: Likewise. | |
715 | * signals.c: Likewise. | |
716 | * specific.c: Likewise. | |
717 | * restart.h: Likewise. | |
718 | * queue.h: Likewise. | |
719 | * Examples/ex3.c: Likewise. | |
720 | * Examples/ex4.c: Likewise. | |
721 | * sysdeps/pthread/pthread.h: Likewise. | |
722 | ||
723 | * pthread.c: Accumulate time for all threads in thread manager. | |
724 | ||
725 | * semaphore.c: Implement fallback implementation for architectures | |
726 | sometimes missing compare-exchange operations. | |
727 | ||
728 | * cancel.c (pthread_cancel): Validate handle argument. | |
729 | * join.c (pthread_join): Likewise. | |
730 | (pthread_detach): Likewise. | |
731 | * signals.c (pthread_kill): Likewise. | |
732 | ||
733 | * spinlock.h (acquire): Use __sched_yield not sched_yield. | |
734 | ||
735 | * queue.h (enqueue): Enqueue thread according to priority. | |
736 | ||
737 | * internals.c (struct pthread_start_args): New struct for passing | |
738 | args to cloning function. | |
739 | (struct _pthread): Rename to _pthread_descr_struct and adapt for | |
740 | opaque pthread_t. | |
741 | ||
742 | * Examples/Makefile (clean): Pass -f option to rm. | |
743 | ||
744 | * sysdeps/i386/pt-machine.h: Add check for compare-exchange instruction | |
745 | and define TEST_FOR_COMPARE_AND_SWAP. | |
746 | * sysdeps/i386/i486/pt-machine.h: Removed. | |
747 | ||
748 | * sysdeps/unix/sysv/linux/local_lim.h (PTHREAD_THREADS_MAX): Increase | |
749 | to 1024. | |
750 | ||
751 | 1997-04-04 16:38 Ulrich Drepper <drepper@cygnus.com> | |
752 | ||
753 | * restart.h (suspend): Clear p_signal before suspending. | |
754 | (suspend_with_cancellation): Likewise. | |
755 | Patch by Xavier Leroy <Xavier.Leroy@inria.fr>. | |
756 | ||
757 | * weaks.c: Make __pthread_key_create return 1. | |
758 | * sysdeps/pthread/libc-lock.h: Define __libc_key_create, | |
759 | __libc_getspecific, __libc_setspecific, and __libc_key_t. | |
760 | * sysdeps/pthread/stdio-lock.h: Don't care for implementation not | |
761 | using libio. | |
762 | ||
763 | 1997-03-19 15:13 Miguel de Icaza <miguel@nuclecu.unam.mx> | |
764 | ||
765 | * sysdeps/sparc/pt-machine (RELEASE): Fix. | |
766 | ||
767 | 1997-03-01 07:55 Geoff Keating <geoffk@ozemail.com.au> | |
768 | ||
769 | * sysdeps/powerpc/Implies: Added. | |
770 | * sysdeps/powerpc/pt-machine.h: Added. | |
771 | * sysdeps/powerpc/semaphorebits.h: Added. | |
772 | ||
773 | 1997-01-22 01:22 Ulrich Drepper <drepper@cygnus.com> | |
774 | ||
775 | * linuxtheads/pthread.c (__pthread_initial_thread): Correct | |
776 | initializer. | |
777 | (__pthread_manager_thread): Likewise. | |
778 | Reported by Andreas Jaeger. | |
779 | ||
780 | 1997-01-18 22:15 Richard Henderson <rth@tamu.edu> | |
781 | ||
782 | Since sigset_t no longer fits in a register, we can't pass in the | |
783 | thread's initial mask so easily. Take this opportunity to simplify | |
784 | the clone implementation by only accepting a single void* argument. | |
785 | ||
786 | * linuxthreads/manager.c (__pthread_manager): Put thread vitals | |
787 | in the thread struct instead of as arguments through clone. | |
788 | (pthread_start_thread): Look for them there. | |
789 | * linuxthreads/internals.h (struct _pthread): Add p_initial_fn, | |
790 | p_initial_fn_arg, p_initial_mask. Fix __pthread_manager proto. | |
791 | * linuxthreads/pthread.c (pthread_initialize_manager): Revise | |
792 | clone invocation. |