summaryrefslogtreecommitdiff
path: root/lib/libpthread
AgeCommit message (Collapse)Author
2004-01-09- add deadlock check to pthread_rwlock_wrlock and pthread_rwlock_timedwrlockcl
- return EPERM when unlocking a lock which isn't held => prevent the failure in PR 24023, where the citrus code had a deadlocking code path - remove deadlock check in pthread_rwlock_tryrdlock, return EBUSY instead => makes pthread_rwlock_tryrdlock standards compliant
2004-01-02make siglongjmp out of a signal handler work:cl
- strong alias __sigprocmask14 to pthread_sigmask - call _sys___sigprocmask14 where appropriate - make pthread_sigmask not set the signal mask lazily when pthreads aren't started yet
2004-01-02userland part of no-syscall upcall stack returncl
- add pt_stackinfo to struct __pthread_st - add pthread__stackinfo_offset returning the offset from ss_sp to pt_stackinfo - pass stackinfo_offset to sa_register and set SA_FLAG_STACKINFO to make the kernel use it - call pthread__sa_recycle in pthread__resolve_locks; g/c recycleq and pthread__recycle_bulk - return stack in pthread__sa_recycle by incrementing sasi_stackgen - make pthread__sa_recycle debugging output formatting conditional on pthread__debug_newline
2004-01-02- libc.so.12.109 and libpthread.so.0.4cl
- add ssize_t stackinfo_offset argument to sa_register syscall - remove sa_unblockyield syscall - make __sigprocmask14 syscall weak - in pthread__sa_start: catch up with 4-argument sa_register syscall
2004-01-02pthread__upcall: output LWPid in SA_UPCALL_BLOCKED casecl
2004-01-02logging/debugging changes:cl
- add PTHREAD_PID_DEBUG which prints the pid before each debuglog line - output thread returned in pthread__next - add asserts in pthread__sched akin to asserts in pthread__sched_bulk: check if scheduled thread is at front/end of queue - pthread__upcall: output event/interrupted LWP count instead of LWPid of the first event/interrupted LWP (since unblock upcalls can have multiple event LWPs). - pthread__find_interrupted: output LWPid here
2004-01-02Add dependencies to assym.h on:lukem
pthread.h pthread_int.h pthread_md.h Should help prevent the problem I raised in [kern/23946], based on a hint from Christian Limpach. Add MAKEVERBOSE support.
2003-12-31Handle block/unblock for threads in critical section withoutcl
sa_unblockyield. XXX g/c sa_unblockyield in kernel later
2003-12-18PR/23791: Patrick Latify: Fix memory leak on thread creation failure.christos
2003-12-15Clean up tmp files on exit. Fixes PR#23723jmc
2003-12-07Add pthread_{g,s}etschedparam, that do nothing.christos
2003-11-27Set default stack size to the current limit on the stack size as setcl
with the shell's command to change limits. Make the PTHREAD_STACKSIZE environment variable override the default stack size. The old fixed stack size behaviour can be enable with PT_FIXEDSTACKSIZE_LG when building libpthread.
2003-11-26Hide the register number constants behind an _R_ prefix, and alsohe
rename FPBASE to _FPBASE, so that we avoid polluting the user's name space when e.g. <sys/ptrace.h> is included. Previously, the PC symbol in mips/regnum.h would conflict with the declaration of the external variable by the same name in termcap.h, as discovered by the ``okheaders'' regression test.
2003-11-25Save the old mask in the old context, not in the new one.cl
2003-11-25Honor SA_NODEFER in pthread__deliver_signal(). This should help code whichcl
makes a longjmp out of a signal handler. Also add missing si_code argument to debugging printf in pthread__kill().
2003-11-25Update list of items.christos
2003-11-25This is not needed anymore.christos
2003-11-25GC sigcontext<->mcontext code and __HAVE_SIGINFO. All supported archs havechristos
siginfo implemented.
2003-11-25- don't store sigmask on the stack, we could store it in the right placechristos
[in the context] - this has the side effect of fixing the problem of the signal mask not being preserved properly upon signal return, found and fixed by cl. - add si_code to the tramp debugging output (requested by cl).
2003-11-25m68k does not sigcontext<->mcontext anymore.christos
2003-11-24Update mutex/rwlock/sem code to match recent change in cond code.cl
2003-11-24add CONSTCOND in constant condition.cl
2003-11-24Fix a race between timed wait callbacks and manual signal/broadcastingnathanw
accidentally introduced in rev. 1.5. Noted by Christian Limpach.
2003-11-21Manually inline pthread__testcancel in these routines; two functionnathanw
calls' worth of overhead per cancellable syscall is overkill.
2003-11-21Prevent ptc_mutex from remaining set if a CV sleep is woken bynathanw
cancellation: * Arrange to not set ptc_mutex until after the pre-sleep cancellation test. * In the post-sleep cancellation test, check if there are no more sleepers and clear ptc_mutex if so. While here, sprinkle some __predict_false() around the cancellation tests.
2003-11-20Do not move incoming paramters to callee-save registers when notuwe
necessary. Saves about a dozen of instructions.
2003-11-20Follow-up to previous. In pthread__signal_tramp() maskp is belowuwe
siginfo on the stack, so get it from there. ss_sp no longer points to the the mask. Pointed out by cl@.
2003-11-20Add _INITCONTEXT_U_MD, we need to clean _REG_SR.uwe
2003-11-20Undo previous. In pthread__deliver_signal set uc->uc_stack.ss_sp = uc;uwe
(as it used to be before 1.1.2.12) so that makecontext doesn't stomp on the data we allocated on the stack. Correct the debugging printf to print olduc instead of target->pt_uc (we have pt_trapuc now, and olduc can be pt_trapuc).
2003-11-20pthread__deliver_signal: swap oldmask and siginfo so that signalyamt
handler's stack doesn't stomp siginfo. this also fixes !__HAVE_SIGINFO, in that case pthread__signal_tramp assumes uc->uc_stack.ss_sp points the old signal mask. pointed by uwe@.
2003-11-20In pthread__locked_switch set self->pt_uc only when the context is inited.uwe
In STACK_SWITCH subtract STACKSPACE, not add it (it's zero for now anyway).
2003-11-18First cut at pthreads MD code for sh3. Based on m68k version.uwe
Regression tests still failing: sem, sigalarm.
2003-11-18Add necessary symbols.uwe
2003-11-18Bump libc to 12.107 and libpthread to 0.3 for fsync_range(2).thorpej
2003-11-18Userland portion of fsync_range(2), written by Bill Studenmund, andthorpej
contributed by Wasabi Systems, Inc.
2003-11-17- delay processing unblocked threads until after locks are resolved:cl
without the blocked/unblocked upcall ordering, an interrupted blocked upcall might put the blocked thread on the intqueue because it needs to be continued. With the delayed processing, we avoid putting such a thread twice on the runqueue. - fix putting a thread on the intqueue when it needs to be continued after it blocked. Also check return value when returning a single stack.
2003-11-17Cause SIGTRAP if NOTREACHED code is reached.uwe
2003-11-12check deferred signals for all unblocked threadscl
2003-11-12Various fixes.wiz
2003-11-12Document pthread_attr_setcreatesuspend_np, pthread_suspend_np, pthread_resume_npchristos
2003-11-11Fix ucontext conversion macros. From Christian Limpach.martin
2003-11-10All the ucontext <-> {fp}reg macros were slightly simplistic and untestedmartin
before (old gdb support on sparc did not use this). Pointed out by Christian Limpach.
2003-11-09Add:christos
int pthread_attr_setcreatesuspend_np(pthread_attr_t *); int pthread_suspend_np(pthread_t); int pthread_resume_np(pthread_t); needed for java. Approved and fixed by cl.
2003-11-08Make register usage more consistent, also in comparison with the i386fvdl
version, for easier maintenance.
2003-11-08Restore %rax correctly during a full context restore (oops).fvdl
2003-11-02Typo; from Jared Yanovich via jmc@openbsd.wiz
2003-10-30use explicit "l" suffixes. (eg. lea -> leal)yamt
2003-10-30sigwait(2), not (3).wiz
2003-10-30bump date toojdolecek
2003-10-30xref sigwait(3)jdolecek