]>
Commit | Line | Data |
---|---|---|
e138a800 UD |
1 | 1998-06-26 Ulrich Drepper <drepper@cygnus.com> |
2 | ||
3 | * spinlock.c: Correct test whether to compile | |
4 | __pthread_compare_and_swap or not. | |
5 | ||
3387a425 UD |
6 | 1998-06-25 19:27 Ulrich Drepper <drepper@cygnus.com> |
7 | ||
8 | * attr.c: Finish user stack support. Change locking code to be safe | |
9 | in situations with different priorities. | |
10 | * cancel.c: Likewise. | |
11 | * condvar.c: Likewise. | |
12 | * internals.h: Likewise. | |
13 | * join.c: Likewise. | |
14 | * manager.c: Likewise. | |
15 | * mutex.c: Likewise. | |
16 | * pthread.c: Likewise. | |
17 | * ptlongjmp.c: Likewise. | |
18 | * queue.h: Likewise. | |
19 | * rwlock.c: Likewise. | |
20 | * semaphore.c: Likewise. | |
21 | * semaphore.h: Likewise. | |
22 | * signals.c: Likewise. | |
23 | * spinlock.c: Likewise. | |
24 | * spinlock.h: Likewise. | |
75c3a84f | 25 | * sysdeps/pthread/pthread.h: Likewise. |
3387a425 UD |
26 | Patches by Xavier leroy. |
27 | ||
0ca7e46e | 28 | * sysdeps/i386/i686/pt-machine.h: New file. |
75c3a84f | 29 | |
3387a425 UD |
30 | 1998-06-25 Ulrich Drepper <drepper@cygnus.com> |
31 | ||
32 | * sysdeps/pthread/pthread.h: Make [sg]et_stacksize and | |
33 | [sg]et_stackaddr prototypes always available. | |
34 | ||
35 | * sysdeps/unix/sysv/linux/bits/posix_opt.h: Define | |
36 | _POSIX_THREAD_ATTR_STACKSIZE and _POSIX_THREAD_ATTR_STACKADDR. | |
37 | ||
d47aac39 UD |
38 | 1998-06-24 Ulrich Drepper <drepper@cygnus.com> |
39 | ||
40 | * manager.c (pthread_free): Undo patch from 980430. | |
41 | Reported by David Wragg <dpw@doc.ic.ac.uk>. | |
42 | ||
69f234e8 UD |
43 | 1998-06-09 15:07 Ulrich Drepper <drepper@cygnus.com> |
44 | ||
45 | * manager.c: Define __pthread_manager_adjust_prio and use it to | |
46 | increase priority when needed. | |
47 | * internals.h: Add prototype for __pthread_manager_adjust_prio. | |
48 | * mutex.c: Optimize mutexes to wake up only one thread. | |
49 | * pthread.c: Move PID of manager fro global variable in structure | |
50 | element. | |
51 | Patches by Xavier Leroy. | |
52 | ||
c0fb8a56 UD |
53 | 1998-06-07 13:47 Ulrich Drepper <drepper@cygnus.com> |
54 | ||
55 | * sysdeps/pthread/bits/libc-lock.h: Optimize cleanup handlers a bit. | |
56 | ||
c6bd526f UD |
57 | 1998-06-03 Andreas Jaeger <aj@arthur.rhein-neckar.de> |
58 | ||
59 | * attr.c: Correct typo. | |
60 | ||
f9119f49 UD |
61 | 1998-05-01 Ulrich Drepper <drepper@cygnus.com> |
62 | ||
63 | * manager.c (pthread_free): Unmap guard before the stack. | |
64 | Patch by Matthias Urlichs. | |
65 | ||
3dd2c3e2 UD |
66 | 1998-04-30 Ulrich Drepper <drepper@cygnus.com> |
67 | ||
68 | * manager.c (pthread_free): Detect already free child. | |
69 | Patch by Xavier Leroy, reported by Matthias Urlichs. | |
70 | ||
0111b224 UD |
71 | 1998-04-23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> |
72 | ||
73 | * Makefile (linuxthreads-version): Renamed back from | |
74 | libpthread-version. | |
75 | ||
f12944ec UD |
76 | 1998-04-21 Ulrich Drepper <drepper@cygnus.com> |
77 | ||
26e119f1 | 78 | * ptlongjmp.c: Add prototypes for __libc_siglongjmp and |
f12944ec UD |
79 | __libc_longjmp. |
80 | ||
8619129f UD |
81 | 1998-04-20 14:55 Ulrich Drepper <drepper@cygnus.com> |
82 | ||
83 | * Makefile (libpthread-routines): Add ptlongjmp and spinlock. | |
84 | * internals.h: Add definitions for new spinlock implementation. | |
85 | * ptlongjmp.c: New file. | |
86 | * spinlock.c: New file. | |
87 | * spinlock.h (acquire): Don't reschedule using __sched_yield, use | |
88 | new function __pthread_acquire to prevent deadlocks with thread | |
89 | with different priorities. | |
90 | Patches by Xavier Leroy <Xavier.Leroy@inria.fr>. | |
91 | ||
52cda958 UD |
92 | 1998-03-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> |
93 | ||
94 | * manager.c (__pthread_manager): Reduce first argument to select | |
95 | to include just the needed file descriptor. | |
96 | ||
48fc3dd2 UD |
97 | 1998-03-17 00:06 Ulrich Drepper <drepper@cygnus.com> |
98 | ||
99 | * manager.c: Fix last patch which caused core dumps. | |
100 | ||
101 | * pthread.c: Correctly handle missing SIGRTMIN. | |
102 | ||
f649c201 UD |
103 | 1998-03-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> |
104 | ||
105 | * libpthread.map: Add __libc_internal_tsd_get and | |
106 | __libc_internal_tsd_set. Add missing cancelable functions. Export | |
107 | libc internal versions of the cancelable functions. | |
108 | ||
14c44e2e UD |
109 | 1998-03-13 16:51 Ulrich Drepper <drepper@cygnus.com> |
110 | ||
111 | * weaks.c: Define pthread_attr_init as GLIBC_2.0 and GLIBC_2.1. | |
112 | ||
5d409851 UD |
113 | 1998-03-13 00:46 Ulrich Drepper <drepper@cygnus.com> |
114 | ||
115 | * attr.c: Implement pthread_attr_[gs]etguardsize, | |
116 | pthread_attr_[gs]setstackaddr, pthread_attr_[gs]etstacksize. | |
117 | Change pthread_attr_init to have two interfaces. | |
118 | * internals.h (struct _pthread_descr_struct): Add new fields for | |
119 | above functions. | |
120 | * libpthread.map: Add names in GLIBC_2.1 section. | |
121 | * manager.c (pthread_handle_create): Implement guardsize and | |
122 | user stack. | |
123 | (pthread_free): Likewise. | |
124 | * pthread.c (pthread_create): Add new interface for changed | |
125 | pthread_attr_t. | |
126 | * sysdeps/pthread/pthread.h: Add prototypes for new functions. | |
127 | * sysdeps/unix/sysv/linux/bits/local_lim.h: Add definition of | |
128 | PTHREAD_STACK_MIN. | |
129 | ||
5afdca00 UD |
130 | 1998-03-11 00:42 Wolfram Gloger <wmglo@dent.med.uni-muenchen.de> |
131 | ||
5d409851 UD |
132 | * manager.c: Enable resetting of the thread scheduling policy |
133 | to SCHED_OTHER when the parent thread has a different one. | |
5afdca00 UD |
134 | |
135 | 1998-02-01 13:51 Ulrich Drepper <drepper@cygnus.com> | |
136 | ||
137 | * sysdeps/unix/sysv/linux/bits/posix_opt.h: Define | |
138 | _POSIX_ASYNCHRONOUS_IO. | |
139 | ||
140 | * sysdeps/pthread/pthread.h: Define bits for Unix98 variants of | |
141 | mutexes. | |
142 | * mutex.c: Implement new mutex types. | |
143 | ||
144 | * internals.h: Include <signal.h>. | |
145 | ||
146 | * libpthread.map: Add __erno_location and __h_errno_location. | |
147 | ||
148 | * errno.c: Return pointer to variable actually in use. This might | |
149 | not be the one in the thread structure. | |
150 | * internals.h (struct _pthread_descr_struct): Add new fields p_errnop | |
151 | and p_h_errnop. | |
152 | * manager.c (__pthread_manager): Set p_errnop and p_h_errnop member | |
153 | of manager thread structure. | |
154 | (pthread_handle_create): Set p_errnop and p_h_errnop members for new | |
155 | thread. | |
156 | * pthread.c: Adapt initializer for thread structures. | |
157 | (__pthread_initial_thread): Set p_errnop and p_h_errnop member. | |
158 | (__pthread_reset_main_thread): Reset p_errnop and p_h_errnop of | |
159 | current thread to global variables. | |
160 | ||
161 | 1998-01-31 17:27 Ulrich Drepper <drepper@cygnus.com> | |
162 | ||
163 | * rwlock.c: New file. | |
164 | * Makefile (libpthread-routines): Add rwlock. | |
165 | * sysdeps/pthread/pthread.h: Define data structures and declare | |
166 | functions. | |
167 | * libpthread.map: Add new functions. | |
168 | ||
169 | 1997-12-18 13:50 Philip Blundell <pb@nexus.co.uk> | |
170 | ||
171 | * sysdeps/arm/pt-machine.h: New file; add ARM support. | |
172 | * sysdeps/arm/Implies: likewise. | |
173 | * README: Document it. | |
174 | ||
175 | 1997-12-13 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> | |
176 | ||
177 | * signals.c: Remove unneeded initializer for sigwaited, saving a | |
178 | warning. | |
179 | ||
180 | 1997-04-11 01:18 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> | |
181 | ||
182 | * semaphore.c (sem_init): Set sem_spinlock only if available. | |
183 | ||
184 | 1997-12-04 01:48 Ulrich Drepper <drepper@cygnus.com> | |
185 | ||
186 | * mutex.c: Implement PTHREAD_MUTEX_CHECKERROR. | |
187 | * sysdeps/pthread/pthread.h: Define PTHREAD_MUTEX_CHECKERROR. | |
188 | ||
189 | * Makefile: Update from LinuxThreads 0.7. | |
190 | * internals.h. Likewise. | |
191 | * manager.c: Likewise. | |
192 | * mutex.c: Likewise. | |
193 | * pthread.c: Likewise. | |
194 | * signals.c: Likewise. | |
195 | * specific.c: Likewise. | |
196 | * Examples/ex3.c: Likewise. | |
197 | ||
198 | 1997-11-20 18:13 Ulrich Drepper <drepper@cygnus.com> | |
199 | ||
200 | * pthread.c (__pthread_reset_main_thread): Close pipe only if still | |
201 | open. | |
202 | ||
203 | 1997-10-29 05:38 Ulrich Drepper <drepper@cygnus.com> | |
204 | ||
205 | * wrapsyscall.c: Add socket functions which are also cancelation | |
206 | points. | |
207 | ||
208 | 1997-10-19 21:40 Wolfram Gloger <wg@wolfram.dent.med.uni-muenchen.de> | |
209 | ||
210 | * specific.c (__libc_internal_tsd_set, __libc_internal_tsd_get): | |
211 | New functions for fast thread specific data within libc. | |
212 | ||
213 | * internals.h: Add new array p_libc_specific to struct | |
214 | _pthread_descr_struct. | |
215 | ||
216 | * sysdeps/pthread/bits/libc-lock.h: Declare new functions. | |
217 | ||
218 | 1997-10-13 05:39 Ulrich Drepper <drepper@cygnus.com> | |
219 | ||
220 | * semaphore.h: Add __BEGIN_DECLS/__END_DECLS. | |
221 | Reported by Ralf Corsepius <corsepiu@faw.uni-ulm.de>. | |
222 | ||
223 | 1997-08-29 03:05 Ulrich Drepper <drepper@cygnus.com> | |
224 | ||
225 | * internals.h (struct _pthread_descr_struct): Add definitions for | |
226 | two-level specific key handling. | |
227 | * manager.c (pthread_handle_create): Initialize specific memory array. | |
228 | * specific.c: Implement two-level key handling. | |
229 | * weaks.c: Don't provide dummy key handling. | |
230 | * sysdeps/pthread/bits/libc-lock.h: Typedef __libc_lock_t (no #define). | |
231 | Add definition of __libc_key_t. | |
232 | * sysdeps/unix/sysv/linux/bits/local_lim.h: Define PTHREAD_KEYS_MAX | |
233 | as 1024. | |
234 | Add definition of _POSIX_THREAD_DESTRUCTOR_ITERATIONS and | |
235 | PTHREAD_DESTRUCTOR_ITERATIONS. | |
236 | ||
237 | * manager.c (pthread_handle_create): Compare mmap result with | |
238 | MAP_FAILED. | |
239 | ||
240 | * ptfork.c: Rename to __pthread_atfork and make old name a weak alias. | |
241 | * sysdeps/pthread/bits/pthread.h: Add prototype for __pthread_atfork. | |
242 | ||
243 | 1997-08-22 19:04 Richard Henderson <rth@cygnus.com> | |
244 | ||
245 | sysdeps/sparc -> sysdeps/sparc/sparc32 | |
246 | sysdeps/sparc64 -> sysdeps/sparc/sparc64 | |
247 | ||
248 | * internals.h: Change definition of THREAD_SELF to be an expression, | |
249 | not a statement that did a return. | |
250 | * sysdeps/alpha/pt-machine.h (THREAD_SELF): Update accordingly. | |
251 | * sysdeps/sparc/sparc32/pt-machine.h (THREAD_SELF, INIT_THREAD_SELF): | |
252 | Follow Solaris and use a "system reserved" register (%g6) to hold | |
253 | the thread descriptor. | |
254 | * sysdeps/sparc/sparc64/pt-machine.h: Likewise. | |
255 | ||
256 | 1997-08-03 00:09 Ulrich Drepper <drepper@cygnus.com> | |
257 | ||
258 | * mutex.c: Correct pthread_once. Patch by Xavier Leroy. | |
259 | * sysdeps/pthread/pthread.h: Add prototype for __pthread_once. | |
260 | * sysdeps/pthread/bits/pthread.h: Add macros for __libc_once. | |
261 | ||
262 | * semaphore.c: Include spinlock.h only when needed. | |
263 | ||
264 | * specific.c (__pthread_setsepcific, __pthread_getspecific): Reject | |
265 | keys for entries not in use. | |
266 | ||
267 | * weaks.c: Implement key handling functions for real. | |
268 | ||
269 | 1997-06-29 01:04 Richard Henderson <richard@gnu.ai.mit.edu> | |
270 | ||
271 | Initial sparc64-linux support: | |
272 | * linuxthreads/sysdeps/sparc64/Implies: New file. | |
273 | * linuxthreads/sysdeps/sparc64/pt-machine.h: Likewise. | |
274 | ||
275 | 1997-06-29 00:48 Ulrich Drepper <drepper@cygnus.com> | |
276 | ||
277 | * semaphore.c: Include spinlock.h at correct place. | |
278 | Patch by HJ Lu. | |
279 | ||
280 | 1997-06-13 10:06 Richard Henderson <rth@tamu.edu> | |
281 | ||
282 | The Great Bit File Move: | |
283 | * sysdeps/alpha/semaphorebits.h: -> .../bits/semaphore.h. | |
284 | * sysdeps/powerpc/semaphorebits.h: Likewise. | |
285 | * sysdeps/pthread/cmpxchg/semaphorebits.h: Likewise. | |
286 | * sysdeps/pthread/no-cmpxchg/semaphorebits.h: Likewise. | |
287 | * sysdeps/pthread/libc-lock.h: -> bits/ | |
288 | * sysdeps/pthread/stdio-lock.h: Likewise. | |
289 | * sysdeps/unix/sysv/linux/local_lim.h: Likewise. | |
290 | * sysdeps/unix/sysv/linux/posix_opt.h: Likewise. | |
291 | * semaphore.h: Likewise. | |
292 | * sysdeps/pthread/pthread.h: Likewise. | |
293 | ||
294 | * lockfile.c: <foo.h> -> <bits/foo.h>. | |
295 | * semaphore.h: Likewise. | |
296 | ||
297 | * Makefile: (headers): foo.h -> bits/foo.h. | |
298 | * sysdeps/pthread/Makefile: Likewise. | |
299 | ||
300 | 1997-04-11 01:18 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> | |
301 | ||
302 | * semaphore.c (sem_init): Set sem_spinlock only if available. | |
303 | ||
304 | * sysdeps/m68k/pt-machine.h (testandset, __compare_and_swap): Fix | |
305 | asm constraints. | |
306 | ||
307 | 1997-04-09 03:00 Ulrich Drepper <drepper@cygnus.com> | |
308 | ||
309 | Update from LinuxThreads 0.6. | |
310 | ||
311 | * attr.c (pthread_attr_getdetachstate): Use __sched_get_priority_max | |
312 | and __sched_get_priority_min instead of names without `__'. | |
313 | ||
314 | * manager.c: Rewrite large parts to implement opaque pthread_t. | |
315 | ||
316 | * cancel.c: Adapt for opaque pthread_t type. | |
317 | * condvar.c: Likewise. | |
318 | * errno.c: Likewise. | |
319 | * join.c: Likewise. | |
320 | * mutex.c: Likewise. | |
321 | * pthread.c: Likewise. | |
322 | * signals.c: Likewise. | |
323 | * specific.c: Likewise. | |
324 | * restart.h: Likewise. | |
325 | * queue.h: Likewise. | |
326 | * Examples/ex3.c: Likewise. | |
327 | * Examples/ex4.c: Likewise. | |
328 | * sysdeps/pthread/pthread.h: Likewise. | |
329 | ||
330 | * pthread.c: Accumulate time for all threads in thread manager. | |
331 | ||
332 | * semaphore.c: Implement fallback implementation for architectures | |
333 | sometimes missing compare-exchange operations. | |
334 | ||
335 | * cancel.c (pthread_cancel): Validate handle argument. | |
336 | * join.c (pthread_join): Likewise. | |
337 | (pthread_detach): Likewise. | |
338 | * signals.c (pthread_kill): Likewise. | |
339 | ||
340 | * spinlock.h (acquire): Use __sched_yield not sched_yield. | |
341 | ||
342 | * queue.h (enqueue): Enqueue thread according to priority. | |
343 | ||
344 | * internals.c (struct pthread_start_args): New struct for passing | |
345 | args to cloning function. | |
346 | (struct _pthread): Rename to _pthread_descr_struct and adapt for | |
347 | opaque pthread_t. | |
348 | ||
349 | * Examples/Makefile (clean): Pass -f option to rm. | |
350 | ||
351 | * sysdeps/i386/pt-machine.h: Add check for compare-exchange instruction | |
352 | and define TEST_FOR_COMPARE_AND_SWAP. | |
353 | * sysdeps/i386/i486/pt-machine.h: Removed. | |
354 | ||
355 | * sysdeps/unix/sysv/linux/local_lim.h (PTHREAD_THREADS_MAX): Increase | |
356 | to 1024. | |
357 | ||
358 | 1997-04-04 16:38 Ulrich Drepper <drepper@cygnus.com> | |
359 | ||
360 | * restart.h (suspend): Clear p_signal before suspending. | |
361 | (suspend_with_cancellation): Likewise. | |
362 | Patch by Xavier Leroy <Xavier.Leroy@inria.fr>. | |
363 | ||
364 | * weaks.c: Make __pthread_key_create return 1. | |
365 | * sysdeps/pthread/libc-lock.h: Define __libc_key_create, | |
366 | __libc_getspecific, __libc_setspecific, and __libc_key_t. | |
367 | * sysdeps/pthread/stdio-lock.h: Don't care for implementation not | |
368 | using libio. | |
369 | ||
370 | 1997-03-19 15:13 Miguel de Icaza <miguel@nuclecu.unam.mx> | |
371 | ||
372 | * sysdeps/sparc/pt-machine (RELEASE): Fix. | |
373 | ||
374 | 1997-03-01 07:55 Geoff Keating <geoffk@ozemail.com.au> | |
375 | ||
376 | * sysdeps/powerpc/Implies: Added. | |
377 | * sysdeps/powerpc/pt-machine.h: Added. | |
378 | * sysdeps/powerpc/semaphorebits.h: Added. | |
379 | ||
380 | 1997-01-22 01:22 Ulrich Drepper <drepper@cygnus.com> | |
381 | ||
382 | * linuxtheads/pthread.c (__pthread_initial_thread): Correct | |
383 | initializer. | |
384 | (__pthread_manager_thread): Likewise. | |
385 | Reported by Andreas Jaeger. | |
386 | ||
387 | 1997-01-18 22:15 Richard Henderson <rth@tamu.edu> | |
388 | ||
389 | Since sigset_t no longer fits in a register, we can't pass in the | |
390 | thread's initial mask so easily. Take this opportunity to simplify | |
391 | the clone implementation by only accepting a single void* argument. | |
392 | ||
393 | * linuxthreads/manager.c (__pthread_manager): Put thread vitals | |
394 | in the thread struct instead of as arguments through clone. | |
395 | (pthread_start_thread): Look for them there. | |
396 | * linuxthreads/internals.h (struct _pthread): Add p_initial_fn, | |
397 | p_initial_fn_arg, p_initial_mask. Fix __pthread_manager proto. | |
398 | * linuxthreads/pthread.c (pthread_initialize_manager): Revise | |
399 | clone invocation. |