| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Ok'd by: kan
|
|
|
|
|
|
|
| |
that would cause the selected shared threading library to be
overwritten with its 32-bit version on amd64.
PR: amd64/112509
|
|
|
|
| |
Submitted by: ru
|
|
|
|
|
|
|
|
|
|
| |
Warning, after symbol versioning is enabled, going back is not easy
(use WITHOUT_SYMVER at your own risk).
Change the default thread library to libthr.
There most likely still needs to be a version bump for at least the
thread libraries. If necessary, this will happen later.
|
| |
|
| |
|
|
|
|
| |
Submitted by: davidxu (via libthr)
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
child thread goes back to system scope rather than process
scope. This allows an ensuing exec() to actually work.
This change was made a year ago here, but I "forgot" to
commit it :(
Approved by: deischen
MFC after: 3 weeks
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
they become candidates for reuse. Without this fix, some of the
state from a thread structure's previous incarnation could interfere
with its new one. Specifically, a non-bound thread started as
"suspended" (see pthread_attr_setcreatesuspend_np()) might not get
scheduled at all when resumed, as the "active" flag would be set
spuriously.
Reviewed by: deischen@, davidxu@
MFC after: 1 week
|
|
|
|
|
|
|
|
| |
is also returned by pthread_detach() if a thread was already
detached, the error code was already documented:
> [EINVAL] The implementation has detected that the value speci-
> fied by thread does not refer to a joinable thread.
|
|
|
|
|
|
|
| |
o avoid using a global register variable.
o redefine struct ia64_tp as a union. We don't have to get to the
fields themselves. We just need it to be of the right size with
the right alignment.
|
|
|
|
|
|
|
| |
16-byte aligned. Consequently, struct tcb is a multiple of 16
bytes in size. We need to make sure there's no padding after
struct ppc32_tp. We do this by explicitly adding the necessary
padding in front of it.
|
|
|
|
| |
abstract the magic that happens when deriving one or the other.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
do its work for SIGINFO. Always install libpthread signal handler
wrapper for SIGINFO even if user SIG_IGN's or SIG_DFL's it.
SIGINFO has a special meaning for libpthread: when LIBPTHREAD_DEBUG
enviroment variable defined it is used for dumping an information
about threads to /tmp/.
Reported by: mi
Reviewed by: deischen
MFC after: 2 weeks
|
| |
|
|
|
|
|
|
| |
movw for segment saving and restoring.
Submitted by: Diego 'Flameeyes' Petteno flameeyes at gentoo dot org
|
|
|
|
| |
Ok'ed by: davidxu
|
|
|
|
| |
/sbin programs.
|
|
|
|
| |
Reviewed by: deischen
|
| |
|
|
|
|
|
|
| |
exposed this bug.
Reported by: kris
|
|
|
|
| |
the link arguments.
|
|
|
|
|
|
|
|
|
|
|
| |
used LIBTHREAD_1_0 as its version definition, but now needs
to define its symbols in the same namespace used by libc.
The compatibility hooks allows you to use libraries and
binaries built and linked to libpthread before libc was
built with symbol versioning. The shims can be removed if
libpthread is given a version bump.
Reviewed by: davidxu
|
|
|
|
|
|
| |
is defined in the environment.
Requested by: jmg & a few others
|
|
|
|
|
|
|
| |
The thread jump table has been resorted, so you need to
keep libc, libpthread, and libthr in sync.
Submitted by: xu
|
|
|
|
|
|
| |
atomic operation to return and adjust the stack.
Submitted by: luoqi
|
|
|
|
|
|
| |
MFC Candidate.
PR: 93592
|
|
|
|
|
| |
MFC candidate
Noticed by: luoqi
|
|
|
|
|
|
| |
about to significantly increase the number of spinlocks used.
Approved by: markm (mentor)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add posix_memalign().
* Move calloc() from calloc.c to malloc.c. Add a calloc() implementation in
rtld-elf in order to make the loader happy (even though calloc() isn't
used in rtld-elf).
* Add _malloc_prefork() and _malloc_postfork(), and use them instead of
directly manipulating __malloc_lock.
Approved by: phk, markm (mentor)
|
|
|
|
|
|
|
|
|
|
| |
functions in the child after a fork() from a threaded process,
use __sys_setprocmask() rather than setprocmask() to keep our
signal handling sane. Without this fix, signals are essentially
ignored in said child and things such as protection violations
result in an endless busy loop.
Reviewed by: deischen
|
|
|
|
|
|
| |
o Make this ILP32/LP64 clean: cast pointers to long
o Code conditional upon DEBUG must also be conditional
upon _LIBC_R_
|
|
|
|
| |
o Make this ILP32/LP64 clean: cast pointers to long.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
_pthread_condattr_getpshared
_pthread_condattr_setpshared
_pthread_mutexattr_getpshared
_pthread_mutexattr_setpshared
pthread_condattr_getpshared
pthread_condattr_setpshared
pthread_mutexattr_getpshared
pthread_mutexattr_setpshared
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
o Don't reinitialise the atfork() handler list in the child. We
are meant to call the child handler, and on subsequent fork()s
should call all three functions as normal.
o Don't reinitialise the thread specific keyed data in the
child after a fork. Applications may require this for context.
o Reinitialise curthread->tlflags after removing ourselves from
(and reinitialising) the various internal thread lists.
o Reinitialise __malloc_lock in the child after fork() (to balance
our explicitly taking the lock prior to the fork()).
With these changes, it is possible to enable the NOTYET code in
thr_kern.c to allow the use of non-async-safe functions after
fork()ing from a threaded program.
Reviewed by: Daniel Eischen <deischen@freebsd.org>
[_malloc_lock reinitialisation has since been moved to avoid polluting the
!NOTYET code]
|
|
|
|
| |
while here.
|
|
|
|
|
|
| |
malloc() siginfo.
PR: 85468
|
|
|
|
| |
PR: 83457
|
|
|
|
| |
PR: 83452
|
|
|
|
|
|
| |
- Remove the macros MUTEX_TYPE_FAST and MUTEX_TYPE_COUNTING_FAST.
OK'ed by: deischen
|
|
|
|
| |
Noticed by: davidxu
|
| |
|