1 |
1325 |
phoenix |
2000-02-22 Ulrich Drepper
|
2 |
|
|
|
3 |
|
|
* semaphore.h (SEM_FAILED): Use 0 not NULL.
|
4 |
|
|
|
5 |
|
|
2000-02-14 Ulrich Drepper
|
6 |
|
|
|
7 |
|
|
* condvar.c (pthread_cond_timedwait_relative_old): Tight loop with
|
8 |
|
|
nanosleep does not work either. Get absolute time inside the
|
9 |
|
|
loop.
|
10 |
|
|
(pthread_cond_timedwait_relative_new): Likewise.
|
11 |
|
|
Patch by Kaz Kylheku .
|
12 |
|
|
|
13 |
|
|
2000-02-13 Ulrich Drepper
|
14 |
|
|
|
15 |
|
|
* condvar.c (pthread_cond_timedwait_relative_old): Undo last patch
|
16 |
|
|
but keep the code around. A bug in the kernel prevent us from
|
17 |
|
|
using the code.
|
18 |
|
|
(pthread_cond_timedwait_relative_new): Likewise.
|
19 |
|
|
(PR libc/1597 and libc/1598).
|
20 |
|
|
|
21 |
|
|
2000-02-01 Kaz Kylheku
|
22 |
|
|
|
23 |
|
|
* condvar.c (pthread_cond_timedwait_relative_old): Do tight
|
24 |
|
|
loop around nanosleep calls instead of around most of the function
|
25 |
|
|
(pthread_cond_timedwait_relative_new): Likewise.
|
26 |
|
|
body. Got rid of backwards goto and one local.
|
27 |
|
|
|
28 |
|
|
2000-01-31 Ulrich Drepper
|
29 |
|
|
|
30 |
|
|
* condvar.c (pthread_cond_timedwait_relative_old): Recompute time
|
31 |
|
|
before every nanosleep call to account for time spent in the rest
|
32 |
|
|
of the function.
|
33 |
|
|
(pthread_cond_timedwait_relative_new): Likewise.
|
34 |
|
|
Patch by khendricks@ivey.uwo.ca (PR libc/1564).
|
35 |
|
|
|
36 |
|
|
2000-01-29 Ulrich Drepper
|
37 |
|
|
|
38 |
|
|
* condvar.c (pthread_cond_timedwait_relative_old): Get remaining time
|
39 |
|
|
from nanosleep call so that in case we restart we only wait for the
|
40 |
|
|
remaining time.
|
41 |
|
|
(pthread_cond_timedwait_relative_new): Likewise.
|
42 |
|
|
Patch by khendricks@ivey.uwo.ca (PR libc/1561).
|
43 |
|
|
|
44 |
|
|
2000-01-18 Ulrich Drepper
|
45 |
|
|
|
46 |
|
|
* manager.c (pthread_allocate_stack): Compute guard page address
|
47 |
|
|
correctly. Patch by HJ Lu.
|
48 |
|
|
|
49 |
|
|
2000-01-12 Ulrich Drepper
|
50 |
|
|
|
51 |
|
|
* internals.h (pthread_readlock_info): New structure.
|
52 |
|
|
(_pthread_descr_struct): Add p_readlock_list, p_readlock_free, and
|
53 |
|
|
p_untracked_readlock_count.
|
54 |
|
|
* pthread.c (__pthread_initial_thread, pthread_manager_thread):
|
55 |
|
|
Add initializers for new fields.
|
56 |
|
|
* manager.c (pthread_free): Free read/write lock lists.
|
57 |
|
|
* queue.h (queue_is_empty): New function.
|
58 |
|
|
* rwlock.c: Implement requirements about when readers should get
|
59 |
|
|
locks assigned.
|
60 |
|
|
* sysdeps/pthread/pthread.h
|
61 |
|
|
(PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP): New definition.
|
62 |
|
|
* sysdeps/pthread/bits/pthreadtypes.h (struct _pthread_rwlock_t):
|
63 |
|
|
Define this name as well.
|
64 |
|
|
Patches by Kaz Kylheku .
|
65 |
|
|
|
66 |
|
|
2000-01-06 Andreas Jaeger
|
67 |
|
|
|
68 |
|
|
* pthread.c: Remove extra initializer.
|
69 |
|
|
|
70 |
|
|
2000-01-05 Ulrich Drepper
|
71 |
|
|
|
72 |
|
|
* pthread.c (__pthread_initial_thread, pthread_manager_thread):
|
73 |
|
|
Adjust initializers for struct _pthread_descr_struct change.
|
74 |
|
|
* internals.h (struct _pthread_descr_struct): Move new elements to
|
75 |
|
|
the end.
|
76 |
|
|
|
77 |
|
|
2000-01-03 Kaz Kylheku
|
78 |
|
|
|
79 |
|
|
Redesigned how cancellation unblocks a thread from internal
|
80 |
|
|
cancellation points (sem_wait, pthread_join,
|
81 |
|
|
pthread_cond_{wait,timedwait}).
|
82 |
|
|
Cancellation won't eat a signal in any of these functions
|
83 |
|
|
(*required* by POSIX and Single Unix Spec!).
|
84 |
|
|
* condvar.c: Spontaneous wakeup on pthread_cond_timedwait won't eat a
|
85 |
|
|
simultaneous condition variable signal (not required by POSIX
|
86 |
|
|
or Single Unix Spec, but nice).
|
87 |
|
|
* spinlock.c: __pthread_lock queues back any received restarts
|
88 |
|
|
that don't belong to it instead of assuming ownership of lock
|
89 |
|
|
upon any restart; fastlock can no longer be acquired by two threads
|
90 |
|
|
simultaneously.
|
91 |
|
|
* restart.h: Restarts queue even on kernels that don't have
|
92 |
|
|
queued real time signals (2.0, early 2.1), thanks to atomic counter,
|
93 |
|
|
avoiding a rare race condition in pthread_cond_timedwait.
|
94 |
|
|
|
95 |
|
|
1999-12-28 Ulrich Drepper
|
96 |
|
|
|
97 |
|
|
* sysdeps/alpha/pt-machine.h: Move stack_pointer definition to the
|
98 |
|
|
beginning.
|
99 |
|
|
|
100 |
|
|
* manager.c (__pthread_start): Add one more cast to assignment of
|
101 |
|
|
arg to prevent warning on 64bit machines.
|
102 |
|
|
|
103 |
|
|
1999-12-21 Ulrich Drepper
|
104 |
|
|
|
105 |
|
|
* manager.c (pthread_handle_create): Set p_pid of new thread
|
106 |
|
|
before calling the callback function to report a new thread.
|
107 |
|
|
|
108 |
|
|
1999-12-20 Andreas Jaeger
|
109 |
|
|
|
110 |
|
|
* pthread.c (pthread_initialize): Move getrlimit call after
|
111 |
|
|
setting of errno.
|
112 |
|
|
|
113 |
|
|
1999-12-01 Ulrich Drepper
|
114 |
|
|
|
115 |
|
|
* sysdeps/i386/pt-machine.h: Move stack_pointer definition to the
|
116 |
|
|
beginning.
|
117 |
|
|
* sysdeps/i386/i686/pt-machine.h: Likewise.
|
118 |
|
|
Patches by Alan Modra .
|
119 |
|
|
|
120 |
|
|
1999-11-23 Ulrich Drepper
|
121 |
|
|
|
122 |
|
|
* manager.c (pthread_start_thread_event): Initialize p_pid already
|
123 |
|
|
here.
|
124 |
|
|
|
125 |
|
|
1999-11-22 Ulrich Drepper
|
126 |
|
|
|
127 |
|
|
* internals.h: Add prototype for __pthread_manager_event.
|
128 |
|
|
* manager.c (__pthread_manager_event): New function.
|
129 |
|
|
(pthread_start_thread_event): Correct computation of self.
|
130 |
|
|
Use INIT_THREAD_SELF.
|
131 |
|
|
* pthread.c (__pthread_manager_thread): Initialize p_lock.
|
132 |
|
|
(__pthread_initialize_manager): Respect event flags also for creation
|
133 |
|
|
of the manager thread.
|
134 |
|
|
|
135 |
|
|
1999-11-08 Ulrich Drepper
|
136 |
|
|
|
137 |
|
|
* pthread.c (__pthread_initialize_manager): Initialize
|
138 |
|
|
__pthread_manager_thread.p_tid.
|
139 |
|
|
|
140 |
|
|
1999-11-02 Ulrich Drepper
|
141 |
|
|
|
142 |
|
|
* internals.h: Declare __pthread_last_event.
|
143 |
|
|
* manager.c: Define __pthread_last_event.
|
144 |
|
|
(pthread_handle_create): Set __pthread_last_event.
|
145 |
|
|
(pthread_exited): Likewise.
|
146 |
|
|
* join.c (pthread_exit): Likewise.
|
147 |
|
|
|
148 |
|
|
* Makefile (libpthread-routines): Add events.
|
149 |
|
|
* events.c: New file.
|
150 |
|
|
* internals.h: Protect against multiple inclusion.
|
151 |
|
|
Include thread_dbP.h header.
|
152 |
|
|
(struct _pthread_descr_struct): Add new fields p_report_events and
|
153 |
|
|
p_eventbuf.
|
154 |
|
|
Declare event reporting functions.
|
155 |
|
|
* join.c (pthread_exit): Signal event if this is wanted.
|
156 |
|
|
* manager.c (__pthread_threads_events): New variable.
|
157 |
|
|
(pthread_handle_create): Take new parameters with event information.
|
158 |
|
|
Signal TD_CREATE event if wanted.
|
159 |
|
|
(__pthread_manager): Adjust pthread_handle_create call.
|
160 |
|
|
(pthread_start_thread_event): New function. Block until manager is
|
161 |
|
|
finished and then call pthread_start_thread.
|
162 |
|
|
(pthread_exited): Signal TD_REAP event if wanted.
|
163 |
|
|
|
164 |
|
|
1999-10-26 Ulrich Drepper
|
165 |
|
|
|
166 |
|
|
* restart.h (suspend_with_cancellation): Rewrite as a macro.
|
167 |
|
|
|
168 |
|
|
* condvar.c (pthread_cond_timedwait_relative): Don't mark as inline.
|
169 |
|
|
|
170 |
|
|
1999-10-21 Xavier Leroy
|
171 |
|
|
|
172 |
|
|
* linuxthreads/pthread.c: For i386, wrap pthread_handle_sigrestart
|
173 |
|
|
and pthread_handle_sigcancel with functions that restore
|
174 |
|
|
%gs from the signal context. For each signal handling function,
|
175 |
|
|
two wrappers are required, one for a non-RT signal and one for
|
176 |
|
|
a RT signal.
|
177 |
|
|
* linuxthreads/signal.c: For i386, add code to restore %gs
|
178 |
|
|
from the signal context in pthread_sighandler and
|
179 |
|
|
pthread_sighandler_rt.
|
180 |
|
|
|
181 |
|
|
1999-10-09 Andreas Jaeger
|
182 |
|
|
|
183 |
|
|
* internals.h: Add __new_sem_post to get prototype in
|
184 |
|
|
manager.c; include semaphore.h for needed types.
|
185 |
|
|
|
186 |
|
|
1999-10-08 Ulrich Drepper
|
187 |
|
|
|
188 |
|
|
* manager.c (__pthread_manager) [REQ_POST]: Use __new_sem_post
|
189 |
|
|
directly instead of calling sem_post which should not be necessary
|
190 |
|
|
but is faster and might help in some case to work around problems.
|
191 |
|
|
|
192 |
|
|
1999-09-25 Ulrich Drepper
|
193 |
|
|
|
194 |
|
|
* condvar.c (pthread_cond_timedwait_relative): Never return with
|
195 |
|
|
EINTR. Patch by Andreas Schwab.
|
196 |
|
|
|
197 |
|
|
1999-09-19 Ulrich Drepper
|
198 |
|
|
|
199 |
|
|
* signals.c (sigaction): Correct last patch. Don't select
|
200 |
|
|
pthread_sighandler_rt based on the signal number but instead of
|
201 |
|
|
the SA_SIGINFO flag.
|
202 |
|
|
|
203 |
|
|
1999-09-23 Ulrich Drepper
|
204 |
|
|
|
205 |
|
|
* specific.c: Move definitions of struct pthread_key_struct and
|
206 |
|
|
destr_function to ...
|
207 |
|
|
* internals.h: ...here.
|
208 |
|
|
|
209 |
|
|
1999-09-03 Andreas Schwab
|
210 |
|
|
|
211 |
|
|
* ptfork.c (__fork): Renamed from fork and use __libc_fork. Add
|
212 |
|
|
fork as weak alias.
|
213 |
|
|
(__vfork): New function, alias vfork.
|
214 |
|
|
* Versions: Export __fork, vfork, and __vfork in libpthread.
|
215 |
|
|
|
216 |
|
|
1999-08-23 Andreas Schwab
|
217 |
|
|
|
218 |
|
|
* signals.c (pthread_sighandler): Add SIGCONTEXT_EXTRA_ARGS to
|
219 |
|
|
call to signal handler.
|
220 |
|
|
|
221 |
|
|
1999-08-20 Ulrich Drepper
|
222 |
|
|
|
223 |
|
|
* pthread.c (__pthread_reset_main_thread): Undo last change.
|
224 |
|
|
(__pthread_kill_other_threads_np): Reset signal handlers for the
|
225 |
|
|
signals we used in the thread implementation here.
|
226 |
|
|
|
227 |
|
|
1999-08-19 Ulrich Drepper
|
228 |
|
|
|
229 |
|
|
* pthread.c (__pthread_reset_main_thread): Reset signal handlers
|
230 |
|
|
for the signals we used in the thread implementation [PR libc/1234].
|
231 |
|
|
|
232 |
|
|
* Versions: Export __pthread_kill_other_threads_np from libpthread
|
233 |
|
|
for GLIBC_2.1.2.
|
234 |
|
|
|
235 |
|
|
* signals.c: Pass sigcontext through wrapper to the user function.
|
236 |
|
|
|
237 |
|
|
1999-08-01 Ulrich Drepper
|
238 |
|
|
|
239 |
|
|
* Versions [ld.so] (GLIBC_2.0): Export __libc_internal_tsd_get and
|
240 |
|
|
__libc_internal_tsd_set.
|
241 |
|
|
|
242 |
|
|
1999-07-29 Andreas Jaeger
|
243 |
|
|
|
244 |
|
|
* manager.c: Remove inclusion of since it's not
|
245 |
|
|
needed anymore.
|
246 |
|
|
|
247 |
|
|
1999-07-16 Andreas Jaeger
|
248 |
|
|
|
249 |
|
|
* internals.h: Align _pthread_descr_struct to 32 bytes.
|
250 |
|
|
Reported by Tim Hockin , close PR libc/1206.
|
251 |
|
|
|
252 |
|
|
1999-07-09 Ulrich Drepper
|
253 |
|
|
|
254 |
|
|
* manager.c (pthread_handle_create): Free mmap region after stack
|
255 |
|
|
if clone failed. Patch by Kaz Kylheku .
|
256 |
|
|
|
257 |
|
|
1999-07-09 Cristian Gafton
|
258 |
|
|
|
259 |
|
|
* Makefile (libpthread-routines): Add oldsemaphore routine.
|
260 |
|
|
* Versions: Add sem_destroy, sem_getvalue, sem_init, sem_post,
|
261 |
|
|
sem_trywait, and sem_wait to GLIBC_2.1.
|
262 |
|
|
* oldsemaphore.c: New file.
|
263 |
|
|
* semaphore.c: Add default_symbol_versions for the changed functions.
|
264 |
|
|
(__new_sem_init): Rename from sem_init.
|
265 |
|
|
(__new_sem_post): Rename from sem_post.
|
266 |
|
|
(__new_sem_wait): Rename from sem_wait.
|
267 |
|
|
(__new_sem_trywait): Rename from sem_trywait.
|
268 |
|
|
(__new_sem_getvalue): Rename from sem_getvalue.
|
269 |
|
|
(__new_sem_destroy): Rename from sem_destroy.
|
270 |
|
|
|
271 |
|
|
1999-06-23 Robey Pointer
|
272 |
|
|
|
273 |
|
|
* internals.h: Added p_nextlock entry to separate queueing for a
|
274 |
|
|
lock from queueing for a CV (sometimes a thread queues on a lock
|
275 |
|
|
to serialize removing itself from a CV queue).
|
276 |
|
|
* pthread.c: Added p_nextlock to initializers.
|
277 |
|
|
* spinlock.c: Changed to use p_nextlock instead of p_nextwaiting.
|
278 |
|
|
|
279 |
|
|
1999-05-23 Andreas Jaeger
|
280 |
|
|
|
281 |
|
|
* man/pthread_cond_init.man: Correct example.
|
282 |
|
|
Reported by Tomas Berndtsson .
|
283 |
|
|
|
284 |
|
|
* linuxthreads.texi (Condition Variables): Likewise.
|
285 |
|
|
|
286 |
|
|
1999-05-18 Jakub Jelinek
|
287 |
|
|
|
288 |
|
|
* sysdeps/sparc/sparc64/pt-machine.h (__compare_and_swap): Use
|
289 |
|
|
casx not cas, also successful casx returns the old value in rd
|
290 |
|
|
and not the new value.
|
291 |
|
|
|
292 |
|
|
1999-05-16 Xavier Leroy
|
293 |
|
|
|
294 |
|
|
* manager.c: If pthread_create() is given a NULL attribute
|
295 |
|
|
and the thread manager runs with a realtime policy, set the
|
296 |
|
|
scheduling policy of the newly created thread back to SCHED_OTHER.
|
297 |
|
|
* manager.c: If the PTHREAD_INHERIT_SCHED attribute is given,
|
298 |
|
|
initialize the schedpolicy field of new_thread->p_start_args
|
299 |
|
|
to that of the calling thread.
|
300 |
|
|
|
301 |
|
|
1999-04-29 Ulrich Drepper
|
302 |
|
|
|
303 |
|
|
* sysdeps/sparc/sparc64/pt-machine.h (__compare_and_swap): cas
|
304 |
|
|
instruction does not allow memory element to use offset.
|
305 |
|
|
|
306 |
|
|
1999-04-28 Ulrich Drepper
|
307 |
|
|
|
308 |
|
|
* manager.c (pthread_allocate_stack): Optimize initialization of new
|
309 |
|
|
thread descriptor.
|
310 |
|
|
|
311 |
|
|
* sysdeps/pthread/bits/libc-lock.h (__libc_lock_define_initialized):
|
312 |
|
|
Don't use initializer since it is all zeroes.
|
313 |
|
|
(__libc_once_define): Likewise.
|
314 |
|
|
|
315 |
|
|
1999-04-16 Andreas Jaeger
|
316 |
|
|
|
317 |
|
|
* sysdeps/arm/Implies: Removed since cmpxchg/no-cmpxchg
|
318 |
|
|
doesn't exist anymore.
|
319 |
|
|
* sysdeps/i386/Implies: Likewise.
|
320 |
|
|
* sysdeps/m68k/Implies: Likewise.
|
321 |
|
|
* sysdeps/mips/Implies: Likewise.
|
322 |
|
|
* sysdeps/powerpc/Implies: Likewise.
|
323 |
|
|
* sysdeps/sparc/sparc32/Implies: Likewise.
|
324 |
|
|
* sysdeps/sparc/sparc64/Implies: Likewise.
|
325 |
|
|
|
326 |
|
|
1999-04-15 Ulrich Drepper
|
327 |
|
|
|
328 |
|
|
* sysdeps/alpha/bits/semaphore.h: Removed.
|
329 |
|
|
* sysdeps/powerpc/bits/semaphore.h: Removed.
|
330 |
|
|
* sysdeps/pthread/cmpxchg/bits/semaphore.h: Removed.
|
331 |
|
|
* sysdeps/pthread/no-cmpxchg/bits/semaphore.h: Removed.
|
332 |
|
|
* Makefile (headers): Remove bits/semaphore.h.
|
333 |
|
|
|
334 |
|
|
* semaphore.h: Define _pthread_descr if necessary.
|
335 |
|
|
Don't include limits.h. Define SEM_VALUE_MAX directly.
|
336 |
|
|
Define SEM_FAILED.
|
337 |
|
|
(sem_t): Protect element names with leading __.
|
338 |
|
|
Add declarations for sem_close, sem_open, and sem_unlink.
|
339 |
|
|
* semaphore.c: Adjust all functions for new element names.
|
340 |
|
|
Define sem_close, sem_open, and sem_unlink.
|
341 |
|
|
* Versions (libthread): Add sem_close, sem_open, and sem_unlink for
|
342 |
|
|
GLIBC_2.1.1.
|
343 |
|
|
* sysdeps/pthread/bits/pthreadtypes.h: Define _pthread_descr only if
|
344 |
|
|
necessary.
|
345 |
|
|
|
346 |
|
|
1999-03-16 H.J. Lu
|
347 |
|
|
|
348 |
|
|
* specific.c (pthread_key_delete): Check th->p_terminated to see
|
349 |
|
|
if the thread is running.
|
350 |
|
|
|
351 |
|
|
* Versions (__libc_internal_tsd_get, __libc_internal_tsd_set):
|
352 |
|
|
Added to GLIBC_2.0 for libc.so.
|
353 |
|
|
|
354 |
|
|
1999-02-12 H.J. Lu
|
355 |
|
|
|
356 |
|
|
* Versions (__libc_current_sigrtmin, __libc_current_sigrtmax,
|
357 |
|
|
__libc_allocate_rtsig): Added to GLIBC_2.1.
|
358 |
|
|
|
359 |
|
|
* internals.h (DEFAULT_SIG_RESTART): Removed.
|
360 |
|
|
(DEFAULT_SIG_CANCEL): Removed.
|
361 |
|
|
|
362 |
|
|
* pthread.c (init_rtsigs, __libc_current_sigrtmin,
|
363 |
|
|
__libc_current_sigrtmax, __libc_allocate_rtsig): New functions.
|
364 |
|
|
(__pthread_sig_restart, __pthread_sig_cancel,
|
365 |
|
|
__pthread_sig_debug): Initialized.
|
366 |
|
|
(pthread_initialize): Call init_rtsigs () to initialize
|
367 |
|
|
real-time signals.
|
368 |
|
|
|
369 |
|
|
1999-02-03 H.J. Lu
|
370 |
|
|
|
371 |
|
|
* manager.c (__pthread_manager): Do block __pthread_sig_debug.
|
372 |
|
|
Don't restart the thread which sent REQ_DEBUG.
|
373 |
|
|
(pthread_start_thread): Check if __pthread_sig_debug > 0
|
374 |
|
|
before debugging.
|
375 |
|
|
|
376 |
|
|
* pthread.c (__pthread_initialize_manager): Suspend ourself
|
377 |
|
|
after sending __pthread_sig_debug to gdb instead of
|
378 |
|
|
__pthread_sig_cancel.
|
379 |
|
|
|
380 |
|
|
1999-01-24 H.J. Lu
|
381 |
|
|
|
382 |
|
|
* manager.c (__pthread_manager): Delete __pthread_sig_debug
|
383 |
|
|
from mask if __pthread_sig_debug > 0.
|
384 |
|
|
(pthread_handle_create): Increment __pthread_handles_num.
|
385 |
|
|
|
386 |
|
|
* manager.c (pthread_handle_create): Don't pass CLONE_PTRACE to clone.
|
387 |
|
|
* pthread.c (__pthread_initialize_manager): Likewise.
|
388 |
|
|
|
389 |
|
|
* pthread.c (pthread_initialize): Use __libc_allocate_rtsig (1)
|
390 |
|
|
instead of __libc_allocate_rtsig (2).
|
391 |
|
|
(__pthread_initialize_manager): Send __pthread_sig_debug to gdb
|
392 |
|
|
instead of __pthread_sig_cancel.
|
393 |
|
|
(pthread_handle_sigdebug): Fix comments.
|
394 |
|
|
|
395 |
|
|
1999-01-21 Ulrich Drepper
|
396 |
|
|
|
397 |
|
|
* manager.c (pthread_allocate_stack): Set
|
398 |
|
|
__pthread_nonstandard_stacks if user-specified stack is used.
|
399 |
|
|
|
400 |
|
|
1999-01-16 Ulrich Drepper
|
401 |
|
|
|
402 |
|
|
* sysdeps/unix/sysv/linux/bits/posix_opt.h: Add _LFS_ASYNCHRONOUS_IO,
|
403 |
|
|
_LFS_LARGEFILE, _LFS64_LARGEFILE, and _LFS64_STDIO from Unix98.
|
404 |
|
|
|
405 |
|
|
1999-01-07 Xavier Leroy
|
406 |
|
|
|
407 |
|
|
* pthread.c: Use a third signal __pthread_sig_debug distinct
|
408 |
|
|
from __pthread_sig_cancel to notify gdb when a thread is
|
409 |
|
|
created
|
410 |
|
|
* manager.c: Likewise.
|
411 |
|
|
* internals.h: Likewise.
|
412 |
|
|
* signals.c: The implementation of sigwait(s) assumed that
|
413 |
|
|
all signals in s have signal handlers already attached.
|
414 |
|
|
This is not required by the standard, so make it work
|
415 |
|
|
also if some of the signals have no handlers.
|
416 |
|
|
|
417 |
|
|
1999-01-05 Andreas Schwab
|
418 |
|
|
|
419 |
|
|
* linuxthreads.texi: Remove pointers from first @node. Move old
|
420 |
|
|
@node spec inside comment.
|
421 |
|
|
|
422 |
|
|
1998-12-31 Ulrich Drepper
|
423 |
|
|
|
424 |
|
|
* sysdeps/pthread/bits/stdio-lock.h: Define _IO_lock_lock and
|
425 |
|
|
_IO_lock_unlock.
|
426 |
|
|
|
427 |
|
|
1998-12-29 Ulrich Drepper
|
428 |
|
|
|
429 |
|
|
* semaphore.c (sem_trywait): Don't forget to unlock the semaphore
|
430 |
|
|
lock. Patch by Bernd Schmidt .
|
431 |
|
|
|
432 |
|
|
1998-12-21 Ulrich Drepper
|
433 |
|
|
|
434 |
|
|
* manager.c: Threads now send __pthread_sig_cancel on termination.
|
435 |
|
|
Change clone call and signal masks.
|
436 |
|
|
* thread.c (pthread_handle_sigrestart): Remove special code for
|
437 |
|
|
manager.
|
438 |
|
|
(pthread_handle_sigcancel): In manager thread call
|
439 |
|
|
__pthread_manager_sighandler.
|
440 |
|
|
* sysdeps/i386/pt-machine.h (__compare_and_swap): Add memory clobber.
|
441 |
|
|
* sysdeps/i386/i686/pt-machine.h: Likewise.
|
442 |
|
|
Patches by Xavier Leroy.
|
443 |
|
|
|
444 |
|
|
1998-12-14 Ulrich Drepper
|
445 |
|
|
|
446 |
|
|
* spinlock.c (__pthread_unlock): Don't crash if called for an
|
447 |
|
|
untaken mutex. Reported by Ruslan V. Brushkoff .
|
448 |
|
|
|
449 |
|
|
* Examples/ex6.c: Unbuffer stdout and reduce sleep time to reduce
|
450 |
|
|
overall runtime.
|
451 |
|
|
|
452 |
|
|
1998-12-13 Ulrich Drepper
|
453 |
|
|
|
454 |
|
|
* Examples/ex3.c: Wait until all threads are started before
|
455 |
|
|
searching for the number to avoid race condition on very fast
|
456 |
|
|
systems.
|
457 |
|
|
|
458 |
|
|
1998-12-08 Andreas Jaeger
|
459 |
|
|
|
460 |
|
|
* sysdeps/pthread/pthread.h: Remove __pthread_setcanceltype
|
461 |
|
|
declaration since it's not needed.
|
462 |
|
|
|
463 |
|
|
* sysdeps/pthread/pthread.h: Move internal functions to ...
|
464 |
|
|
* internals.h: ...here.
|
465 |
|
|
|
466 |
|
|
1998-12-02 H.J. Lu
|
467 |
|
|
|
468 |
|
|
* pthread.c (__pthread_sig_restart): Initiliaze to 0 if
|
469 |
|
|
SIGRTMIN is defined.
|
470 |
|
|
(__pthread_sig_cancel): Likewise.
|
471 |
|
|
|
472 |
|
|
1998-12-01 Andreas Jaeger
|
473 |
|
|
|
474 |
|
|
* wrapsyscall.c: Include for msync,
|
475 |
|
|
for system and for tcdrain prototype.
|
476 |
|
|
Correct msync declaration.
|
477 |
|
|
|
478 |
|
|
1998-11-29 Roland McGrath
|
479 |
|
|
|
480 |
|
|
* sysdeps/pthread/bits/libc-tsd.h (__libc_tsd_define, __libc_tsd_get,
|
481 |
|
|
__libc_tsd_set): New macros for new interface.
|
482 |
|
|
* no-tsd.c: New file, provide uninitialized defns of
|
483 |
|
|
__libc_internal_tsd_get and __libc_internal_tsd_set.
|
484 |
|
|
* Makefile (routines): Add no-tsd.
|
485 |
|
|
|
486 |
|
|
1998-10-12 Roland McGrath
|
487 |
|
|
|
488 |
|
|
* internals.h: Include , not .
|
489 |
|
|
* sysdeps/pthread/bits/libc-lock.h (__libc_internal_tsd_get,
|
490 |
|
|
__libc_internal_tsd_set): Move decls to ...
|
491 |
|
|
* sysdeps/pthread/bits/libc-tsd.h: New file for __libc_internal_tsd_*
|
492 |
|
|
declarations.
|
493 |
|
|
|
494 |
|
|
* sysdeps/pthread/bits/libc-lock.h (__libc_internal_tsd_get,
|
495 |
|
|
__libc_internal_tsd_set): Make these pointers to functions, not
|
496 |
|
|
functions; remove #pragma weak decls for them.
|
497 |
|
|
* specific.c (__libc_internal_tsd_get, __libc_internal_tsd_set):
|
498 |
|
|
Define static functions and initialized pointers to them.
|
499 |
|
|
|
500 |
|
|
1998-11-18 Ulrich Drepper
|
501 |
|
|
|
502 |
|
|
* Makefile (CFLAGS-mutex.c): Define as -D__NO_WEAK_PTHREAD_ALIASES.
|
503 |
|
|
(CFLAGS-specific.c): Likewise.
|
504 |
|
|
(CFLAGS-pthread.c): Likewise.
|
505 |
|
|
(CFLAGS-ptfork.c): Likewise.
|
506 |
|
|
(CFLAGS-cancel.c): Likewise.
|
507 |
|
|
* sysdeps/pthread/bits/libc-lock.h: Don't mark __pthread_* functions
|
508 |
|
|
as weak references if __NO_WEAK_PTHREAD_ALIASES is defined.
|
509 |
|
|
|
510 |
|
|
* mutex.c (pthread_mutex_init): Define as strong symbol.
|
511 |
|
|
(pthread_mutex_destroy): Likewise.
|
512 |
|
|
(pthread_mutex_trylock): Likewise.
|
513 |
|
|
(pthread_mutex_lock): Likewise.
|
514 |
|
|
(pthread_mutex_unlock): Likewise.
|
515 |
|
|
(pthread_mutexattr_init): Likewise.
|
516 |
|
|
(pthread_mutexattr_destroy): Likewise.
|
517 |
|
|
(pthread_once): Likewise.
|
518 |
|
|
* ptfork.c (pthread_atfork): Likewise.
|
519 |
|
|
* specific.c (pthread_key_create): Likewise.
|
520 |
|
|
(pthread_setspecific): Likewise.
|
521 |
|
|
(pthread_getspecific): Likewise.
|
522 |
|
|
|
523 |
|
|
1998-11-15 Andreas Schwab
|
524 |
|
|
|
525 |
|
|
* linuxthreads.texi: Fix punctuation after xref.
|
526 |
|
|
|
527 |
|
|
1998-11-10 H.J. Lu
|
528 |
|
|
|
529 |
|
|
* sysdeps/unix/sysv/linux/bits/local_lim.h: Undefine NR_OPEN
|
530 |
|
|
if it is defined in .
|
531 |
|
|
|
532 |
|
|
1998-10-29 14:28 Ulrich Drepper
|
533 |
|
|
|
534 |
|
|
* spinlock.h (__pthread_trylock): Define inline.
|
535 |
|
|
(__pthread_lock): Add extra parameter to declaration. Declare
|
536 |
|
|
using internal_function.
|
537 |
|
|
(__pthread_unlock): Declare using internal_function.
|
538 |
|
|
* spinlock.c (__pthread_lock): Add new parameter. Use it instead
|
539 |
|
|
of local variable self. Avoid recomputing self. Define using
|
540 |
|
|
internal_function.
|
541 |
|
|
(__pthread_trylock): Remove.
|
542 |
|
|
(__pthread_unlock): Define using internal_function.
|
543 |
|
|
* cancel.c: Adjust for __pthread_lock interface change. Use already
|
544 |
|
|
computed self value is possible.
|
545 |
|
|
* condvar.c: Likewise.
|
546 |
|
|
* join.c: Likewise.
|
547 |
|
|
* manager.c: Likewise.
|
548 |
|
|
* mutex.c: Likewise.
|
549 |
|
|
* pthread.c: Likewise.
|
550 |
|
|
* rwlock.c: Likewise.
|
551 |
|
|
* semaphore.c: Likewise.
|
552 |
|
|
* signals.c: Likewise.
|
553 |
|
|
|
554 |
|
|
1998-10-27 13:46 Ulrich Drepper
|
555 |
|
|
|
556 |
|
|
* sysdeps/pthread/pthread.h (struct _pthread_cleanup_buffer): Prepend
|
557 |
|
|
__ to field names of the struct.
|
558 |
|
|
* sysdeps/pthread/bits/pthreadtypes.h (struct _pthread_fastlock):
|
559 |
|
|
Likewise.
|
560 |
|
|
(pthread_attr_t): Likewise.
|
561 |
|
|
(pthread_cond_t): Likewise.
|
562 |
|
|
(pthread_condattr_t): Likewise.
|
563 |
|
|
(pthread_mutex_t): Likewise.
|
564 |
|
|
(pthread_mutexattr_t): Likewise.
|
565 |
|
|
(pthread_rwlock_t): Likewise.
|
566 |
|
|
(pthread_rwlockattr_t): Likewise.
|
567 |
|
|
* attr.c: Adjust for pthread.h and pthreadtypes.h change.
|
568 |
|
|
* cancel.c: Likewise.
|
569 |
|
|
* condvar.c: Likewise.
|
570 |
|
|
* manager.c: Likewise.
|
571 |
|
|
* mutex.c: Likewise.
|
572 |
|
|
* pthread.c: Likewise.
|
573 |
|
|
* ptlongjmp.c: Likewise.
|
574 |
|
|
* rwlock.c: Likewise.
|
575 |
|
|
* spinlock.c: Likewise.
|
576 |
|
|
|
577 |
|
|
1998-10-09 Ulrich Drepper
|
578 |
|
|
|
579 |
|
|
* sysdeps/i386/pt-machine.h (get_eflags, set_eflags): Mark these
|
580 |
|
|
also with PT_EI.
|
581 |
|
|
|
582 |
|
|
* sysdeps/i386/i686/pt-machine.h: Remove unused inline
|
583 |
|
|
definitions.
|
584 |
|
|
|
585 |
|
|
* Makefile (libpthread-routines): Add pt-machine.
|
586 |
|
|
* pt-machine.c: New file.
|
587 |
|
|
* sysdeps/alpha/pt-machine.h: Define PT_EI as extern inline is not
|
588 |
|
|
yet defined. Use PT_EI in extern inline definitions.
|
589 |
|
|
* sysdeps/arm/pt-machine.h: Likewise.
|
590 |
|
|
* sysdeps/i386/pt-machine.h: Likewise.
|
591 |
|
|
* sysdeps/i386/i686/pt-machine.h: Likewise.
|
592 |
|
|
* sysdeps/m68k/pt-machine.h: Likewise.
|
593 |
|
|
* sysdeps/mips/pt-machine.h: Likewise.
|
594 |
|
|
* sysdeps/powerpc/pt-machine.h: Likewise.
|
595 |
|
|
* sysdeps/sparc/sparc32/pt-machine.h: Likewise.
|
596 |
|
|
* sysdeps/sparc/sparc64/pt-machine.h: Likewise.
|
597 |
|
|
|
598 |
|
|
1998-10-02 Andreas Jaeger
|
599 |
|
|
|
600 |
|
|
* semaphore.h: Include so that _pthread_descr
|
601 |
|
|
is declared.
|
602 |
|
|
|
603 |
|
|
1998-09-15 David S. Miller
|
604 |
|
|
|
605 |
|
|
* sysdeps/sparc/sparc32/pt-machine.h (INIT_THREAD_SELF): Add nr
|
606 |
|
|
argument.
|
607 |
|
|
* sysdeps/sparc/sparc64/pt-machine.h (INIT_THREAD_SELF): Likewise.
|
608 |
|
|
|
609 |
|
|
1998-09-12 14:24 -0400 Zack Weinberg
|
610 |
|
|
|
611 |
|
|
* linuxthreads/sysdeps/unix/sysv/linux/bits/sigthread.h: Add
|
612 |
|
|
multiple inclusion guard.
|
613 |
|
|
|
614 |
|
|
1998-09-02 11:08 Andreas Schwab
|
615 |
|
|
|
616 |
|
|
* signals.c (sigaction): Check that sig is less than NSIG to avoid
|
617 |
|
|
array index overflow.
|
618 |
|
|
|
619 |
|
|
1998-09-06 10:56 Ulrich Drepper
|
620 |
|
|
|
621 |
|
|
* sysdeps/pthread/semaphore.h: New file.
|
622 |
|
|
|
623 |
|
|
1998-09-06 09:08 Ulrich Drepper
|
624 |
|
|
|
625 |
|
|
* sysdeps/pthread/bits/libc-lock.h (enum __libc_tsd_key_t): Add
|
626 |
|
|
_LIBC_TSD_KEY_DL_ERROR.
|
627 |
|
|
|
628 |
|
|
1998-08-31 Ulrich Drepper
|
629 |
|
|
|
630 |
|
|
* sysdeps/i386/i686/pt-machine.h (testandset): Add memory clobber.
|
631 |
|
|
* sysdeps/i386/pt-machine.h: Likewise.
|
632 |
|
|
Suggested by Roland McGrath.
|
633 |
|
|
|
634 |
|
|
1998-08-28 13:58 Ulrich Drepper
|
635 |
|
|
|
636 |
|
|
* internals.h: Also define THREAD_GETMEM_NC and THREAD_SETMEM_NC to
|
637 |
|
|
access thread data with non-constant offsets.
|
638 |
|
|
* specific.c: Use THREAD_GETMEM_NC and THREAD_SETMEM_NC where
|
639 |
|
|
necessary.
|
640 |
|
|
|
641 |
|
|
* sysdeps/i386/useldt.h: Fix typo. Add THREAD_GETMEM_NC and
|
642 |
|
|
THREAD_SETMEM_NC definitions.
|
643 |
|
|
|
644 |
|
|
* sysdeps/sparc/sparc32/pt-machine.h: Define THREAD_GETMEM_NC and
|
645 |
|
|
THREAD_SETMEM_NC.
|
646 |
|
|
* sysdeps/sparc/sparc64/pt-machine.h: Likewise.
|
647 |
|
|
|
648 |
|
|
1998-08-26 15:46 Ulrich Drepper
|
649 |
|
|
|
650 |
|
|
* internals.h: Define THREAD_GETMEM and THREAD_SETMEM to default if
|
651 |
|
|
not already defined.
|
652 |
|
|
(struct _pthread_descr_struct): Add p_self and p_nr field.
|
653 |
|
|
* manager.c (__pthread_handles): Define second element to point
|
654 |
|
|
to manager thread.
|
655 |
|
|
(__pthread_handles_num): Initialize to 2.
|
656 |
|
|
(__pthread_manager): Use INIT_THREAD_SELF with two arguments.
|
657 |
|
|
(pthread_start_thread): Likewise.
|
658 |
|
|
(pthread_handle_create): Start search for free slot at entry 2.
|
659 |
|
|
Initialize new fields p_self and p_nr.
|
660 |
|
|
Call __clone with CLONE_PTRACE if available.
|
661 |
|
|
(pthread_free): Call FREE_THREAD_SELF if available.
|
662 |
|
|
* pthread.c (__pthread_initial_thread): Initialize new fields.
|
663 |
|
|
(__pthread_manager_thread): Likewise.
|
664 |
|
|
(__pthread_initialize_manager): Call __clone with CLONE_PTRACE.
|
665 |
|
|
|
666 |
|
|
* cancel.c: Use THREAD_GETMEM and THREAD_SETMEM to access the
|
667 |
|
|
elements of the thread descriptor.
|
668 |
|
|
* condvar.c: Likewise.
|
669 |
|
|
* errno.c: Likewise.
|
670 |
|
|
* join.c: Likewise.
|
671 |
|
|
* manager.c: Likewise.
|
672 |
|
|
* pthread.c: Likewise.
|
673 |
|
|
* ptlongjmp.c: Likewise.
|
674 |
|
|
* semaphore.c: Likewise.
|
675 |
|
|
* signals.c: Likewise.
|
676 |
|
|
* specific.c: Likewise.
|
677 |
|
|
* spinlock.c: Likewise.
|
678 |
|
|
|
679 |
|
|
* sysdeps/alpha/pt-machine.h (INIT_THREAD_SELF): Add extra parameter.
|
680 |
|
|
|
681 |
|
|
* sysdeps/i386/useldt.h: New file.
|
682 |
|
|
* sysdeps/i386/i686/pt-machine.h: Show how to use this file.
|
683 |
|
|
|
684 |
|
|
* sysdeps/sparc/sparc32/pt-machine.h: Define THREAD_GETMEM and
|
685 |
|
|
THREAD_SETMEM using __thread_self.
|
686 |
|
|
* sysdeps/sparc/sparc64/pt-machine.h: Likewise.
|
687 |
|
|
|
688 |
|
|
1998-08-24 Geoff Keating
|
689 |
|
|
|
690 |
|
|
* spinlock.c (__pthread_lock): Reset p_nextwaiting to NULL if it
|
691 |
|
|
turned out that we didn't need to queue after all.
|
692 |
|
|
|
693 |
|
|
1998-08-22 Geoff Keating
|
694 |
|
|
|
695 |
|
|
* sysdeps/powerpc/pt-machine.h: Remove testandset, it's not used
|
696 |
|
|
and wastes space; correct types.
|
697 |
|
|
|
698 |
|
|
1998-08-08 11:18 H.J. Lu
|
699 |
|
|
|
700 |
|
|
* signals.c (sigaction): Handle NULL argument.
|
701 |
|
|
|
702 |
|
|
1998-08-04 Ulrich Drepper
|
703 |
|
|
|
704 |
|
|
* sysdeps/unix/sysv/linux/bits/sigthread.h: Use __sigset_t instead
|
705 |
|
|
of sigset_t.
|
706 |
|
|
|
707 |
|
|
1998-08-02 Andreas Schwab
|
708 |
|
|
|
709 |
|
|
* Makefile (linuxthreads-version): Extract correct number from
|
710 |
|
|
Banner.
|
711 |
|
|
|
712 |
|
|
1998-07-29 Xavier Leroy
|
713 |
|
|
|
714 |
|
|
* Banner: Bump version number to 0.8
|
715 |
|
|
* FAQ.html: Many updates, in particular w.r.t. debugging.
|
716 |
|
|
* manager.c: Support for non-default stacksize for
|
717 |
|
|
LinuxThreads-allocated stacks;
|
718 |
|
|
don't use guard pages for stacks with default size, rely on
|
719 |
|
|
rlimit(RLIMIT_STACK) instead (it's cheaper).
|
720 |
|
|
* attr.c: Likewise.
|
721 |
|
|
* cancel.c: Use __pthread_sig_cancel and __pthread_sig_restart
|
722 |
|
|
everywhere instead of PTHREAD_SIG_CANCEL and PTHREAD_SIG_RESTART.
|
723 |
|
|
* condvar.c: Likewise.
|
724 |
|
|
* internals.h: Likewise.
|
725 |
|
|
* restart.h: Likewise.
|
726 |
|
|
* signals.c: Likewise.
|
727 |
|
|
* pthread.c: Likewise; set rlimit(RLIMIT_STACK) as we need it.
|
728 |
|
|
|
729 |
|
|
1998-07-23 Andreas Schwab
|
730 |
|
|
|
731 |
|
|
* weaks.c: Define pthread_mutexattr_[sg]ettype instead of
|
732 |
|
|
__pthread_mutexattr_[sg]ettype. Add more weak aliases.
|
733 |
|
|
* Versions: Put __pthread_mutexattr_settype under version
|
734 |
|
|
GLIBC_2.0. Don't export __pthread_mutexattr_setkind_np and
|
735 |
|
|
__pthread_mutexattr_gettype.
|
736 |
|
|
|
737 |
|
|
1998-07-23 Andreas Schwab
|
738 |
|
|
|
739 |
|
|
* sysdeps/pthread/bits/libc-lock.h: Make
|
740 |
|
|
__pthread_mutexattr_settype weak. Don't make
|
741 |
|
|
__pthread_mutexattr_setkind_np weak.
|
742 |
|
|
|
743 |
|
|
1998-07-16 10:52 Ulrich Drepper
|
744 |
|
|
|
745 |
|
|
* manager.c (pthread_handle_create): Check whether sched_setscheduler
|
746 |
|
|
call can succeed here.
|
747 |
|
|
|
748 |
|
|
* mutex.c: Define __pthread_mutexattr_settype and make
|
749 |
|
|
__pthread_mutexattr_setkind_np an alias.
|
750 |
|
|
Likewise for __pthread_mutexattr_gettype.
|
751 |
|
|
|
752 |
|
|
1998-07-15 11:00 -0400 Zack Weinberg
|
753 |
|
|
|
754 |
|
|
* attr.c (pthread_attr_setschedpolicy): Don't check whether caller
|
755 |
|
|
is root.
|
756 |
|
|
|
757 |
|
|
1998-07-14 19:38 Ulrich Drepper
|
758 |
|
|
|
759 |
|
|
* sysdeps/pthread/bits/libc-lock.h: Define __libc_cleanup_end.
|
760 |
|
|
|
761 |
|
|
1998-07-11 Andreas Jaeger
|
762 |
|
|
|
763 |
|
|
* Examples/ex6.c: Include for usleep.
|
764 |
|
|
|
765 |
|
|
1998-06-13 11:04 Andreas Schwab
|
766 |
|
|
|
767 |
|
|
* Examples/ex4.c (main): Use exit, not pthread_exit.
|
768 |
|
|
|
769 |
|
|
1998-07-09 13:39 Ulrich Drepper
|
770 |
|
|
|
771 |
|
|
* Versions: Add __pthread_mutexattr_gettype and
|
772 |
|
|
__pthread_mutexattr_settype.
|
773 |
|
|
* lockfile.c: Use __pthread_mutexattr_settype instead of
|
774 |
|
|
__pthread_mutexattr_setkind_np.
|
775 |
|
|
* mutex.c: Define __pthread_mutexattr_gettype and
|
776 |
|
|
__pthread_mutexattr_settype.
|
777 |
|
|
* weak.c: Likewise.
|
778 |
|
|
* sysdeps/pthread/pthread.h: Declare __pthread_mutexattr_gettype and
|
779 |
|
|
__pthread_mutexattr_settype.
|
780 |
|
|
* sysdeps/pthread/bits/libc-lock.h (__libc_lock_init_recursive):
|
781 |
|
|
Use __pthread_mutexattr_settype.
|
782 |
|
|
|
783 |
|
|
1998-07-08 22:26 Ulrich Drepper
|
784 |
|
|
|
785 |
|
|
* Versions: Add pthread_mutexattr_gettype, pthread_mutexattr_settype.
|
786 |
|
|
* mutex.c: Define weak alias pthread_mutexattr_gettype and
|
787 |
|
|
pthread_mutexattr_settype.
|
788 |
|
|
* sysdeps/pthread/pthread.h: Declare these functions.
|
789 |
|
|
Move pthread_sigmask and pthread_kill declaration in separate header.
|
790 |
|
|
* sysdeps/unix/sysv/linux/bits/sigthread.h: New file.
|
791 |
|
|
|
792 |
|
|
1998-07-07 15:20 Ulrich Drepper
|
793 |
|
|
|
794 |
|
|
* Makefile: Add rules to compile and run tests.
|
795 |
|
|
* Examples/ex1.c: Little changes to fix warnings.
|
796 |
|
|
* Examples/ex2.c: Likewise.
|
797 |
|
|
* Examples/ex3.c: Likewise.
|
798 |
|
|
* Examples/ex4.c: Likewise.
|
799 |
|
|
* Examples/ex5.c: Likewise.
|
800 |
|
|
* Examples/ex6.c: New file.
|
801 |
|
|
|
802 |
|
|
1998-07-05 11:54 Ulrich Drepper
|
803 |
|
|
|
804 |
|
|
* Versions: Add pthread_attr_init to GLIBC_2.1 version in libc.
|
805 |
|
|
|
806 |
|
|
1998-07-01 Andreas Jaeger
|
807 |
|
|
|
808 |
|
|
* attr.c: Include .
|
809 |
|
|
|
810 |
|
|
1998-06-30 11:47 Ulrich Drepper
|
811 |
|
|
|
812 |
|
|
* attr.c: Include errno.h. Use memcpy to copy sched_param.
|
813 |
|
|
* internals.h: Include limits.h.
|
814 |
|
|
* manager.c: Use memcpy to copy sched_param.
|
815 |
|
|
* ptfork.c: Include errno.h.
|
816 |
|
|
* pthread.c: Likewise.
|
817 |
|
|
* semaphore.c: Likewise.
|
818 |
|
|
* specific.c: Likewise.
|
819 |
|
|
* spinlock.h: Likewise.
|
820 |
|
|
* sysdeps/pthread/pthread.h: Include only allowed headers. Move
|
821 |
|
|
type definition to ...
|
822 |
|
|
* sysdeps/pthread/bits/pthreadtypes.h: ...here. New file.
|
823 |
|
|
|
824 |
|
|
1998-06-29 12:34 Ulrich Drepper
|
825 |
|
|
|
826 |
|
|
* sysdeps/pthread/pthread.h: Use __PMT not __P for function pointers.
|
827 |
|
|
|
828 |
|
|
* sysdeps/pthread/pthread.h: Define various PTHREAD_* symbols also
|
829 |
|
|
as macros as demanded in POSIX.1, Annex C.
|
830 |
|
|
|
831 |
|
|
1998-06-29 12:29 Ulrich Drepper
|
832 |
|
|
|
833 |
|
|
* internals.h (struct pthread_request): For free use pthread_t
|
834 |
|
|
instead of pthread_descr.
|
835 |
|
|
* join.c (pthread_join): Pass thread_id, not th to manager.
|
836 |
|
|
(pthread_detach): Likewise.
|
837 |
|
|
* manager.c (__pthread_manager): Except thread ID in FREE_REQ case.
|
838 |
|
|
(pthread_exited): Remove detached queue code.
|
839 |
|
|
(pthread_handle_free): Expect thread ID parameter and use it to
|
840 |
|
|
validate the thread decsriptor. Don't use detached queue.
|
841 |
|
|
Patches by Xavier Leroy.
|
842 |
|
|
|
843 |
|
|
1998-06-27 Andreas Schwab
|
844 |
|
|
|
845 |
|
|
* libpthread.map: Export accept, longjmp, sigaction, siglongjmp,
|
846 |
|
|
_IO_flockfile, _IO_ftrylockfile, _IO_funlockfile,
|
847 |
|
|
__pthread_atfork, __pthread_key_create, __pthread_once.
|
848 |
|
|
* internals.h: Doc fix.
|
849 |
|
|
* pthread.c (__pthread_initialize): Define again.
|
850 |
|
|
|
851 |
|
|
1998-06-26 Ulrich Drepper
|
852 |
|
|
|
853 |
|
|
* manager.c (pthread_exited): If thread is not detached put it on
|
854 |
|
|
special list.
|
855 |
|
|
(pthread_handle_free): If thread is not on list with living threads
|
856 |
|
|
search on list with detached threads.
|
857 |
|
|
|
858 |
|
|
* sysdeps/pthread/pthread.h (PTHREAD_RWLOCK_INITIALIZER): Correct
|
859 |
|
|
for new definition of pthread_rwlock_t.
|
860 |
|
|
|
861 |
|
|
* spinlock.c: Correct test whether to compile
|
862 |
|
|
__pthread_compare_and_swap or not.
|
863 |
|
|
|
864 |
|
|
1998-06-25 19:27 Ulrich Drepper
|
865 |
|
|
|
866 |
|
|
* attr.c: Finish user stack support. Change locking code to be safe
|
867 |
|
|
in situations with different priorities.
|
868 |
|
|
* cancel.c: Likewise.
|
869 |
|
|
* condvar.c: Likewise.
|
870 |
|
|
* internals.h: Likewise.
|
871 |
|
|
* join.c: Likewise.
|
872 |
|
|
* manager.c: Likewise.
|
873 |
|
|
* mutex.c: Likewise.
|
874 |
|
|
* pthread.c: Likewise.
|
875 |
|
|
* ptlongjmp.c: Likewise.
|
876 |
|
|
* queue.h: Likewise.
|
877 |
|
|
* rwlock.c: Likewise.
|
878 |
|
|
* semaphore.c: Likewise.
|
879 |
|
|
* semaphore.h: Likewise.
|
880 |
|
|
* signals.c: Likewise.
|
881 |
|
|
* spinlock.c: Likewise.
|
882 |
|
|
* spinlock.h: Likewise.
|
883 |
|
|
* sysdeps/pthread/pthread.h: Likewise.
|
884 |
|
|
Patches by Xavier Leroy.
|
885 |
|
|
|
886 |
|
|
* sysdeps/i386/i686/pt-machine.h: New file.
|
887 |
|
|
|
888 |
|
|
1998-06-25 Ulrich Drepper
|
889 |
|
|
|
890 |
|
|
* sysdeps/pthread/pthread.h: Make [sg]et_stacksize and
|
891 |
|
|
[sg]et_stackaddr prototypes always available.
|
892 |
|
|
|
893 |
|
|
* sysdeps/unix/sysv/linux/bits/posix_opt.h: Define
|
894 |
|
|
_POSIX_THREAD_ATTR_STACKSIZE and _POSIX_THREAD_ATTR_STACKADDR.
|
895 |
|
|
|
896 |
|
|
1998-06-24 Ulrich Drepper
|
897 |
|
|
|
898 |
|
|
* manager.c (pthread_free): Undo patch from 980430.
|
899 |
|
|
Reported by David Wragg .
|
900 |
|
|
|
901 |
|
|
1998-06-09 15:07 Ulrich Drepper
|
902 |
|
|
|
903 |
|
|
* manager.c: Define __pthread_manager_adjust_prio and use it to
|
904 |
|
|
increase priority when needed.
|
905 |
|
|
* internals.h: Add prototype for __pthread_manager_adjust_prio.
|
906 |
|
|
* mutex.c: Optimize mutexes to wake up only one thread.
|
907 |
|
|
* pthread.c: Move PID of manager for global variable in structure
|
908 |
|
|
element.
|
909 |
|
|
Patches by Xavier Leroy.
|
910 |
|
|
|
911 |
|
|
1998-06-07 13:47 Ulrich Drepper
|
912 |
|
|
|
913 |
|
|
* sysdeps/pthread/bits/libc-lock.h: Optimize cleanup handlers a bit.
|
914 |
|
|
|
915 |
|
|
1998-06-03 Andreas Jaeger
|
916 |
|
|
|
917 |
|
|
* attr.c: Correct typo.
|
918 |
|
|
|
919 |
|
|
1998-05-01 Ulrich Drepper
|
920 |
|
|
|
921 |
|
|
* manager.c (pthread_free): Unmap guard before the stack.
|
922 |
|
|
Patch by Matthias Urlichs.
|
923 |
|
|
|
924 |
|
|
1998-04-30 Ulrich Drepper
|
925 |
|
|
|
926 |
|
|
* manager.c (pthread_free): Detect already free child.
|
927 |
|
|
Patch by Xavier Leroy, reported by Matthias Urlichs.
|
928 |
|
|
|
929 |
|
|
1998-04-23 Andreas Schwab
|
930 |
|
|
|
931 |
|
|
* Makefile (linuxthreads-version): Renamed back from
|
932 |
|
|
libpthread-version.
|
933 |
|
|
|
934 |
|
|
1998-04-21 Ulrich Drepper
|
935 |
|
|
|
936 |
|
|
* ptlongjmp.c: Add prototypes for __libc_siglongjmp and
|
937 |
|
|
__libc_longjmp.
|
938 |
|
|
|
939 |
|
|
1998-04-20 14:55 Ulrich Drepper
|
940 |
|
|
|
941 |
|
|
* Makefile (libpthread-routines): Add ptlongjmp and spinlock.
|
942 |
|
|
* internals.h: Add definitions for new spinlock implementation.
|
943 |
|
|
* ptlongjmp.c: New file.
|
944 |
|
|
* spinlock.c: New file.
|
945 |
|
|
* spinlock.h (acquire): Don't reschedule using __sched_yield, use
|
946 |
|
|
new function __pthread_acquire to prevent deadlocks with thread
|
947 |
|
|
with different priorities.
|
948 |
|
|
Patches by Xavier Leroy .
|
949 |
|
|
|
950 |
|
|
1998-03-16 Andreas Schwab
|
951 |
|
|
|
952 |
|
|
* manager.c (__pthread_manager): Reduce first argument to select
|
953 |
|
|
to include just the needed file descriptor.
|
954 |
|
|
|
955 |
|
|
1998-03-17 00:06 Ulrich Drepper
|
956 |
|
|
|
957 |
|
|
* manager.c: Fix last patch which caused core dumps.
|
958 |
|
|
|
959 |
|
|
* pthread.c: Correctly handle missing SIGRTMIN.
|
960 |
|
|
|
961 |
|
|
1998-03-15 Andreas Schwab
|
962 |
|
|
|
963 |
|
|
* libpthread.map: Add __libc_internal_tsd_get and
|
964 |
|
|
__libc_internal_tsd_set. Add missing cancelable functions. Export
|
965 |
|
|
libc internal versions of the cancelable functions.
|
966 |
|
|
|
967 |
|
|
1998-03-13 16:51 Ulrich Drepper
|
968 |
|
|
|
969 |
|
|
* weaks.c: Define pthread_attr_init as GLIBC_2.0 and GLIBC_2.1.
|
970 |
|
|
|
971 |
|
|
1998-03-13 00:46 Ulrich Drepper
|
972 |
|
|
|
973 |
|
|
* attr.c: Implement pthread_attr_[gs]etguardsize,
|
974 |
|
|
pthread_attr_[gs]setstackaddr, pthread_attr_[gs]etstacksize.
|
975 |
|
|
Change pthread_attr_init to have two interfaces.
|
976 |
|
|
* internals.h (struct _pthread_descr_struct): Add new fields for
|
977 |
|
|
above functions.
|
978 |
|
|
* libpthread.map: Add names in GLIBC_2.1 section.
|
979 |
|
|
* manager.c (pthread_handle_create): Implement guardsize and
|
980 |
|
|
user stack.
|
981 |
|
|
(pthread_free): Likewise.
|
982 |
|
|
* pthread.c (pthread_create): Add new interface for changed
|
983 |
|
|
pthread_attr_t.
|
984 |
|
|
* sysdeps/pthread/pthread.h: Add prototypes for new functions.
|
985 |
|
|
* sysdeps/unix/sysv/linux/bits/local_lim.h: Add definition of
|
986 |
|
|
PTHREAD_STACK_MIN.
|
987 |
|
|
|
988 |
|
|
1998-03-11 00:42 Wolfram Gloger
|
989 |
|
|
|
990 |
|
|
* manager.c: Enable resetting of the thread scheduling policy
|
991 |
|
|
to SCHED_OTHER when the parent thread has a different one.
|
992 |
|
|
|
993 |
|
|
1998-02-01 13:51 Ulrich Drepper
|
994 |
|
|
|
995 |
|
|
* sysdeps/unix/sysv/linux/bits/posix_opt.h: Define
|
996 |
|
|
_POSIX_ASYNCHRONOUS_IO.
|
997 |
|
|
|
998 |
|
|
* sysdeps/pthread/pthread.h: Define bits for Unix98 variants of
|
999 |
|
|
mutexes.
|
1000 |
|
|
* mutex.c: Implement new mutex types.
|
1001 |
|
|
|
1002 |
|
|
* internals.h: Include .
|
1003 |
|
|
|
1004 |
|
|
* libpthread.map: Add __erno_location and __h_errno_location.
|
1005 |
|
|
|
1006 |
|
|
* errno.c: Return pointer to variable actually in use. This might
|
1007 |
|
|
not be the one in the thread structure.
|
1008 |
|
|
* internals.h (struct _pthread_descr_struct): Add new fields p_errnop
|
1009 |
|
|
and p_h_errnop.
|
1010 |
|
|
* manager.c (__pthread_manager): Set p_errnop and p_h_errnop member
|
1011 |
|
|
of manager thread structure.
|
1012 |
|
|
(pthread_handle_create): Set p_errnop and p_h_errnop members for new
|
1013 |
|
|
thread.
|
1014 |
|
|
* pthread.c: Adapt initializer for thread structures.
|
1015 |
|
|
(__pthread_initial_thread): Set p_errnop and p_h_errnop member.
|
1016 |
|
|
(__pthread_reset_main_thread): Reset p_errnop and p_h_errnop of
|
1017 |
|
|
current thread to global variables.
|
1018 |
|
|
|
1019 |
|
|
1998-01-31 17:27 Ulrich Drepper
|
1020 |
|
|
|
1021 |
|
|
* rwlock.c: New file.
|
1022 |
|
|
* Makefile (libpthread-routines): Add rwlock.
|
1023 |
|
|
* sysdeps/pthread/pthread.h: Define data structures and declare
|
1024 |
|
|
functions.
|
1025 |
|
|
* libpthread.map: Add new functions.
|
1026 |
|
|
|
1027 |
|
|
1997-12-18 13:50 Philip Blundell
|
1028 |
|
|
|
1029 |
|
|
* sysdeps/arm/pt-machine.h: New file; add ARM support.
|
1030 |
|
|
* sysdeps/arm/Implies: likewise.
|
1031 |
|
|
* README: Document it.
|
1032 |
|
|
|
1033 |
|
|
1997-12-13 Andreas Schwab
|
1034 |
|
|
|
1035 |
|
|
* signals.c: Remove unneeded initializer for sigwaited, saving a
|
1036 |
|
|
warning.
|
1037 |
|
|
|
1038 |
|
|
1997-04-11 01:18 Andreas Schwab
|
1039 |
|
|
|
1040 |
|
|
* semaphore.c (sem_init): Set sem_spinlock only if available.
|
1041 |
|
|
|
1042 |
|
|
1997-12-04 01:48 Ulrich Drepper
|
1043 |
|
|
|
1044 |
|
|
* mutex.c: Implement PTHREAD_MUTEX_CHECKERROR.
|
1045 |
|
|
* sysdeps/pthread/pthread.h: Define PTHREAD_MUTEX_CHECKERROR.
|
1046 |
|
|
|
1047 |
|
|
* Makefile: Update from LinuxThreads 0.7.
|
1048 |
|
|
* internals.h. Likewise.
|
1049 |
|
|
* manager.c: Likewise.
|
1050 |
|
|
* mutex.c: Likewise.
|
1051 |
|
|
* pthread.c: Likewise.
|
1052 |
|
|
* signals.c: Likewise.
|
1053 |
|
|
* specific.c: Likewise.
|
1054 |
|
|
* Examples/ex3.c: Likewise.
|
1055 |
|
|
|
1056 |
|
|
1997-11-20 18:13 Ulrich Drepper
|
1057 |
|
|
|
1058 |
|
|
* pthread.c (__pthread_reset_main_thread): Close pipe only if still
|
1059 |
|
|
open.
|
1060 |
|
|
|
1061 |
|
|
1997-10-29 05:38 Ulrich Drepper
|
1062 |
|
|
|
1063 |
|
|
* wrapsyscall.c: Add socket functions which are also cancelation
|
1064 |
|
|
points.
|
1065 |
|
|
|
1066 |
|
|
1997-10-19 21:40 Wolfram Gloger
|
1067 |
|
|
|
1068 |
|
|
* specific.c (__libc_internal_tsd_set, __libc_internal_tsd_get):
|
1069 |
|
|
New functions for fast thread specific data within libc.
|
1070 |
|
|
|
1071 |
|
|
* internals.h: Add new array p_libc_specific to struct
|
1072 |
|
|
_pthread_descr_struct.
|
1073 |
|
|
|
1074 |
|
|
* sysdeps/pthread/bits/libc-lock.h: Declare new functions.
|
1075 |
|
|
|
1076 |
|
|
1997-10-13 05:39 Ulrich Drepper
|
1077 |
|
|
|
1078 |
|
|
* semaphore.h: Add __BEGIN_DECLS/__END_DECLS.
|
1079 |
|
|
Reported by Ralf Corsepius .
|
1080 |
|
|
|
1081 |
|
|
1997-08-29 03:05 Ulrich Drepper
|
1082 |
|
|
|
1083 |
|
|
* internals.h (struct _pthread_descr_struct): Add definitions for
|
1084 |
|
|
two-level specific key handling.
|
1085 |
|
|
* manager.c (pthread_handle_create): Initialize specific memory array.
|
1086 |
|
|
* specific.c: Implement two-level key handling.
|
1087 |
|
|
* weaks.c: Don't provide dummy key handling.
|
1088 |
|
|
* sysdeps/pthread/bits/libc-lock.h: Typedef __libc_lock_t (no #define).
|
1089 |
|
|
Add definition of __libc_key_t.
|
1090 |
|
|
* sysdeps/unix/sysv/linux/bits/local_lim.h: Define PTHREAD_KEYS_MAX
|
1091 |
|
|
as 1024.
|
1092 |
|
|
Add definition of _POSIX_THREAD_DESTRUCTOR_ITERATIONS and
|
1093 |
|
|
PTHREAD_DESTRUCTOR_ITERATIONS.
|
1094 |
|
|
|
1095 |
|
|
* manager.c (pthread_handle_create): Compare mmap result with
|
1096 |
|
|
MAP_FAILED.
|
1097 |
|
|
|
1098 |
|
|
* ptfork.c: Rename to __pthread_atfork and make old name a weak alias.
|
1099 |
|
|
* sysdeps/pthread/bits/pthread.h: Add prototype for __pthread_atfork.
|
1100 |
|
|
|
1101 |
|
|
1997-08-22 19:04 Richard Henderson
|
1102 |
|
|
|
1103 |
|
|
sysdeps/sparc -> sysdeps/sparc/sparc32
|
1104 |
|
|
sysdeps/sparc64 -> sysdeps/sparc/sparc64
|
1105 |
|
|
|
1106 |
|
|
* internals.h: Change definition of THREAD_SELF to be an expression,
|
1107 |
|
|
not a statement that did a return.
|
1108 |
|
|
* sysdeps/alpha/pt-machine.h (THREAD_SELF): Update accordingly.
|
1109 |
|
|
* sysdeps/sparc/sparc32/pt-machine.h (THREAD_SELF, INIT_THREAD_SELF):
|
1110 |
|
|
Follow Solaris and use a "system reserved" register (%g6) to hold
|
1111 |
|
|
the thread descriptor.
|
1112 |
|
|
* sysdeps/sparc/sparc64/pt-machine.h: Likewise.
|
1113 |
|
|
|
1114 |
|
|
1997-08-03 00:09 Ulrich Drepper
|
1115 |
|
|
|
1116 |
|
|
* mutex.c: Correct pthread_once. Patch by Xavier Leroy.
|
1117 |
|
|
* sysdeps/pthread/pthread.h: Add prototype for __pthread_once.
|
1118 |
|
|
* sysdeps/pthread/bits/pthread.h: Add macros for __libc_once.
|
1119 |
|
|
|
1120 |
|
|
* semaphore.c: Include spinlock.h only when needed.
|
1121 |
|
|
|
1122 |
|
|
* specific.c (__pthread_setsepcific, __pthread_getspecific): Reject
|
1123 |
|
|
keys for entries not in use.
|
1124 |
|
|
|
1125 |
|
|
* weaks.c: Implement key handling functions for real.
|
1126 |
|
|
|
1127 |
|
|
1997-06-29 01:04 Richard Henderson
|
1128 |
|
|
|
1129 |
|
|
Initial sparc64-linux support:
|
1130 |
|
|
* linuxthreads/sysdeps/sparc64/Implies: New file.
|
1131 |
|
|
* linuxthreads/sysdeps/sparc64/pt-machine.h: Likewise.
|
1132 |
|
|
|
1133 |
|
|
1997-06-29 00:48 Ulrich Drepper
|
1134 |
|
|
|
1135 |
|
|
* semaphore.c: Include spinlock.h at correct place.
|
1136 |
|
|
Patch by HJ Lu.
|
1137 |
|
|
|
1138 |
|
|
1997-06-13 10:06 Richard Henderson
|
1139 |
|
|
|
1140 |
|
|
The Great Bit File Move:
|
1141 |
|
|
* sysdeps/alpha/semaphorebits.h: -> .../bits/semaphore.h.
|
1142 |
|
|
* sysdeps/powerpc/semaphorebits.h: Likewise.
|
1143 |
|
|
* sysdeps/pthread/cmpxchg/semaphorebits.h: Likewise.
|
1144 |
|
|
* sysdeps/pthread/no-cmpxchg/semaphorebits.h: Likewise.
|
1145 |
|
|
* sysdeps/pthread/libc-lock.h: -> bits/
|
1146 |
|
|
* sysdeps/pthread/stdio-lock.h: Likewise.
|
1147 |
|
|
* sysdeps/unix/sysv/linux/local_lim.h: Likewise.
|
1148 |
|
|
* sysdeps/unix/sysv/linux/posix_opt.h: Likewise.
|
1149 |
|
|
* semaphore.h: Likewise.
|
1150 |
|
|
* sysdeps/pthread/pthread.h: Likewise.
|
1151 |
|
|
|
1152 |
|
|
* lockfile.c: -> .
|
1153 |
|
|
* semaphore.h: Likewise.
|
1154 |
|
|
|
1155 |
|
|
* Makefile: (headers): foo.h -> bits/foo.h.
|
1156 |
|
|
* sysdeps/pthread/Makefile: Likewise.
|
1157 |
|
|
|
1158 |
|
|
1997-04-11 01:18 Andreas Schwab
|
1159 |
|
|
|
1160 |
|
|
* semaphore.c (sem_init): Set sem_spinlock only if available.
|
1161 |
|
|
|
1162 |
|
|
* sysdeps/m68k/pt-machine.h (testandset, __compare_and_swap): Fix
|
1163 |
|
|
asm constraints.
|
1164 |
|
|
|
1165 |
|
|
1997-04-09 03:00 Ulrich Drepper
|
1166 |
|
|
|
1167 |
|
|
Update from LinuxThreads 0.6.
|
1168 |
|
|
|
1169 |
|
|
* attr.c (pthread_attr_getdetachstate): Use __sched_get_priority_max
|
1170 |
|
|
and __sched_get_priority_min instead of names without `__'.
|
1171 |
|
|
|
1172 |
|
|
* manager.c: Rewrite large parts to implement opaque pthread_t.
|
1173 |
|
|
|
1174 |
|
|
* cancel.c: Adapt for opaque pthread_t type.
|
1175 |
|
|
* condvar.c: Likewise.
|
1176 |
|
|
* errno.c: Likewise.
|
1177 |
|
|
* join.c: Likewise.
|
1178 |
|
|
* mutex.c: Likewise.
|
1179 |
|
|
* pthread.c: Likewise.
|
1180 |
|
|
* signals.c: Likewise.
|
1181 |
|
|
* specific.c: Likewise.
|
1182 |
|
|
* restart.h: Likewise.
|
1183 |
|
|
* queue.h: Likewise.
|
1184 |
|
|
* Examples/ex3.c: Likewise.
|
1185 |
|
|
* Examples/ex4.c: Likewise.
|
1186 |
|
|
* sysdeps/pthread/pthread.h: Likewise.
|
1187 |
|
|
|
1188 |
|
|
* pthread.c: Accumulate time for all threads in thread manager.
|
1189 |
|
|
|
1190 |
|
|
* semaphore.c: Implement fallback implementation for architectures
|
1191 |
|
|
sometimes missing compare-exchange operations.
|
1192 |
|
|
|
1193 |
|
|
* cancel.c (pthread_cancel): Validate handle argument.
|
1194 |
|
|
* join.c (pthread_join): Likewise.
|
1195 |
|
|
(pthread_detach): Likewise.
|
1196 |
|
|
* signals.c (pthread_kill): Likewise.
|
1197 |
|
|
|
1198 |
|
|
* spinlock.h (acquire): Use __sched_yield not sched_yield.
|
1199 |
|
|
|
1200 |
|
|
* queue.h (enqueue): Enqueue thread according to priority.
|
1201 |
|
|
|
1202 |
|
|
* internals.c (struct pthread_start_args): New struct for passing
|
1203 |
|
|
args to cloning function.
|
1204 |
|
|
(struct _pthread): Rename to _pthread_descr_struct and adapt for
|
1205 |
|
|
opaque pthread_t.
|
1206 |
|
|
|
1207 |
|
|
* Examples/Makefile (clean): Pass -f option to rm.
|
1208 |
|
|
|
1209 |
|
|
* sysdeps/i386/pt-machine.h: Add check for compare-exchange instruction
|
1210 |
|
|
and define TEST_FOR_COMPARE_AND_SWAP.
|
1211 |
|
|
* sysdeps/i386/i486/pt-machine.h: Removed.
|
1212 |
|
|
|
1213 |
|
|
* sysdeps/unix/sysv/linux/local_lim.h (PTHREAD_THREADS_MAX): Increase
|
1214 |
|
|
to 1024.
|
1215 |
|
|
|
1216 |
|
|
1997-04-04 16:38 Ulrich Drepper
|
1217 |
|
|
|
1218 |
|
|
* restart.h (suspend): Clear p_signal before suspending.
|
1219 |
|
|
(suspend_with_cancellation): Likewise.
|
1220 |
|
|
Patch by Xavier Leroy .
|
1221 |
|
|
|
1222 |
|
|
* weaks.c: Make __pthread_key_create return 1.
|
1223 |
|
|
* sysdeps/pthread/libc-lock.h: Define __libc_key_create,
|
1224 |
|
|
__libc_getspecific, __libc_setspecific, and __libc_key_t.
|
1225 |
|
|
* sysdeps/pthread/stdio-lock.h: Don't care for implementation not
|
1226 |
|
|
using libio.
|
1227 |
|
|
|
1228 |
|
|
1997-03-19 15:13 Miguel de Icaza
|
1229 |
|
|
|
1230 |
|
|
* sysdeps/sparc/pt-machine (RELEASE): Fix.
|
1231 |
|
|
|
1232 |
|
|
1997-03-01 07:55 Geoff Keating
|
1233 |
|
|
|
1234 |
|
|
* sysdeps/powerpc/Implies: Added.
|
1235 |
|
|
* sysdeps/powerpc/pt-machine.h: Added.
|
1236 |
|
|
* sysdeps/powerpc/semaphorebits.h: Added.
|
1237 |
|
|
|
1238 |
|
|
1997-01-22 01:22 Ulrich Drepper
|
1239 |
|
|
|
1240 |
|
|
* linuxtheads/pthread.c (__pthread_initial_thread): Correct
|
1241 |
|
|
initializer.
|
1242 |
|
|
(__pthread_manager_thread): Likewise.
|
1243 |
|
|
Reported by Andreas Jaeger.
|
1244 |
|
|
|
1245 |
|
|
1997-01-18 22:15 Richard Henderson
|
1246 |
|
|
|
1247 |
|
|
Since sigset_t no longer fits in a register, we can't pass in the
|
1248 |
|
|
thread's initial mask so easily. Take this opportunity to simplify
|
1249 |
|
|
the clone implementation by only accepting a single void* argument.
|
1250 |
|
|
|
1251 |
|
|
* linuxthreads/manager.c (__pthread_manager): Put thread vitals
|
1252 |
|
|
in the thread struct instead of as arguments through clone.
|
1253 |
|
|
(pthread_start_thread): Look for them there.
|
1254 |
|
|
* linuxthreads/internals.h (struct _pthread): Add p_initial_fn,
|
1255 |
|
|
p_initial_fn_arg, p_initial_mask. Fix __pthread_manager proto.
|
1256 |
|
|
* linuxthreads/pthread.c (pthread_initialize_manager): Revise
|
1257 |
|
|
clone invocation.
|