| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
the requested new value
|
|
|
|
| |
Improve consistency of error naming
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
don't try to merge values, round the sizes separately, and don't try to
unmap application-supplied stacks.
Copy from uthread the caching of default-sized stacks.
Have pthread_attr_init() and pthread_create() get the default attributes
from staticly allocated pthread_attr_t.
Cache the pagesize in _rthread_init() and provide a macro for rounding to it
based on suggestions from kettenis@ and tedu@, ok kettenis@
|
| |
|
| |
|
|
|
|
|
|
| |
so that their pthread_attr_get* don't return bogus values.
issue noted and tested by aja@
|
| |
|
|
|
|
|
|
|
|
| |
properly represents whether a process is multi-threaded or not. This fixes
a bug where if a forked child would create a new thread we would not set
__isthreaded.
ok guenther@
|
| |
|
|
|
|
|
| |
If we have to revert to user-space threads, we'll do another major bump of
libpthread going back
|
|
|
|
|
|
| |
pthread_mutexattr_{get,set}kind_np()
tweaked diff from brad
|
|
|
|
| |
moved. Unlocking a spinlock twice is bad, mmkay?
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
particularly the "consume the signal you just sent" hang, and putting
the wait queues in userspace.
Do cancellation handling in pthread_cond_*wait(), pthread_join(),
and sem_wait().
Add __ prefix to thr{sleep,wakeup,exit,sigdivert}() syscalls; add
'abort" argument to thrsleep to close cancellation race; make
thr{sleep,wakeup} return errno values via *retval to avoid touching
userspace errno.
|
| |
|
|
|
|
|
|
|
| |
semaphore stubs already provided by libpthread. We may move them in their
own file in the future when we figure out a real implementation.
Discussed with and looks ok to guenther@
|
|
|
|
| |
ok guenther@
|
| |
|
|
|
|
| |
so prefer it for identifying the current thread
|
|
|
|
| |
thread library uses it internally for cancellation.
|
| |
|
| |
|
| |
|
|
|
|
| |
to new files rthread_rwlock.c, rthread_rwlockattr.c, and rthread_once.c
|
|
|
|
|
|
|
| |
new file rthread_mutexattr.c. Add basic implementations of
pthread_mutexattr_{set,get}{protocol,prioceiling}
Requested by aja
|
| |
|
|
|
|
|
|
| |
using previously allocated SIGTHR to interrupt in-process syscalls
and fixing the spelling of "cancelled" along the way.
Modeled on FreeBSD's libthr
|
|
|
|
| |
of support in ld.so
|
|
|
|
| |
ok guenther@
|
|
|
|
|
|
| |
thread list
reminded by dhill@
|
|
|
|
| |
ok guenther@
|
|
|
|
| |
ok guenther@
|
|
|
|
| |
Requested by many to ease substitution of librthread for libpthread
|
| |
|
|
|
|
|
| |
value for THREAD_ERRNOPTR_OFFSET (can't be used from ASM or ld.so, but
it lets things compile as we fill things in)
|
|
|
|
|
| |
errno. The ASM bits for _cerror are sketchy or missing for some archs
but that can be corrected in-tree.
|
|
|
|
|
|
| |
known good version of ldstub in the kernel. (It's finally in, aja!)
ok kettenis@
|
|
|
|
|
|
|
|
| |
(BIAD+CC64FSZ) so that there's sufficient space even when _rthread_start
is compiled without optimization. Also, clear the frame pointer
to help make gdb happier.
ok kettenis@
|
|
|
|
|
|
|
| |
Tune the asm slightly to avoid using the stack and use smaller instructions.
Pass threxit() a NULL pointer.
seemed okay to kettenis@
|
|
|
|
|
| |
called on an ERRORCHECK mutex that is locked by this thread. Problem
observed by uwe@
|
| |
|
|
|
|
|
|
| |
``Correct the _atomic_lock() asm so that gcc accepts the constraints
when compiling without optimization; fix copied from the kernel's atomic.h''
spotted by jim@
|
|
|
|
|
|
| |
attribute then make pthread_create() return EINVAL instead of whatever
was in errno on entry (possibly making it appear it succeeded when it
really failed). Encountered by Jung (moorang at gmail.com).
|
| |
|
|
|
|
|
|
| |
Avoid missed wakeups in pthread_rwlock_{rd,wr}lock() by linking the spinlocks.
ok tedu@
|
|
|
|
|
|
|
| |
files or directories when applicable.
The inspiration and name of MACHINE_CPU come from NetBSD, although the way to
provide it to Makefiles is completely different.
ok kettenis@
|
|
|
|
|
| |
syscall ABI has changed and everything is going to need to be relinked
anyway, bump the rthread major
|
|
|
|
|
|
| |
race condition and prep for later support of pthread_condattr_setclock()
"get it in" deraadt@, tedu@, cheers by others
|
|
|
|
|
|
|
| |
and struct timespec * argument. sigtimedwait is just a one line
wrapper after this.
"get it in" deraadt@, tedu@, cheers by others
|