Revision tags: v6.2.1, v6.2.0, v6.3.0, v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0 |
|
#
cf8046a9 |
| 08-Dec-2020 |
zrj <rimvydas.jasinskas@gmail.com> |
pthreads: Reimplement pthread types using non polluting types.
Use __ implementation specific namespace and adjust libthread_xu. * The pthread_addr_t type was specific only to libc_r, remove it.
pthreads: Reimplement pthread types using non polluting types.
Use __ implementation specific namespace and adjust libthread_xu. * The pthread_addr_t type was specific only to libc_r, remove it. * The pthread_startroutine_t typedef was never used since initial fork. * The mutex member in struct pthread_once was for libc_r only, rename it to __sparelibc_r void pointer to keep ABI compatibility. * Mangle struct names using __type_s scheme to avoid collisions with user defined types in 3rd-party software packages. * Adjust partly publicly visible struct pthread_once members too.
show more ...
|
#
940be950 |
| 08-Dec-2020 |
zrj <rimvydas.jasinskas@gmail.com> |
pthreads: Use pthread_t type in libthread_xu.
Separated from upcoming work to allow easier differentiation between non-pointers, single and double pointers. Inclusion of thr_private.h already pr
pthreads: Use pthread_t type in libthread_xu.
Separated from upcoming work to allow easier differentiation between non-pointers, single and double pointers. Inclusion of thr_private.h already provides all needed information to dereference these types.
No functional change
show more ...
|
Revision tags: v5.8.3, v5.8.2, v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3 |
|
#
e7bf3f77 |
| 29-Oct-2019 |
Matthew Dillon <dillon@apollo.backplane.com> |
pthreads - Bypass third-party allocators for internal allocations
* Adjust libthread_xu to always use libc's malloc/free (__malloc, __free), bypassing third party allocators.
* Fixes interactions
pthreads - Bypass third-party allocators for internal allocations
* Adjust libthread_xu to always use libc's malloc/free (__malloc, __free), bypassing third party allocators.
* Fixes interactions between third party alocators and pthreads which often cause deadlocks or other chicken-and-egg issues, or require serious hacks to work around.
show more ...
|
Revision tags: v5.6.2, v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3, v5.4.2, v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1, v5.2.2, v5.2.1, v5.2.0, v5.3.0, v5.2.0rc |
|
#
d33005aa |
| 15-Feb-2018 |
Sascha Wildner <saw@online.de> |
Add missing restrict qualifiers in POSIX function definitions/declarations.
This creates no further -Wrestrict warnings with gcc80 in buildworld.
|
Revision tags: v5.0.2, v5.0.1 |
|
#
fcaa7a3a |
| 02-Nov-2017 |
Matthew Dillon <dillon@apollo.backplane.com> |
libthread_xu - Fix rtld and refactor locks
* Add a separate atfork facility for internal pthread atfork entities (sem and rtld) which must execute after all user atfork entities pre-fork and bef
libthread_xu - Fix rtld and refactor locks
* Add a separate atfork facility for internal pthread atfork entities (sem and rtld) which must execute after all user atfork entities pre-fork and before all user atfork entities post-fork.
* Install an atfork handler for rtld-elf (also requires rtld-elf to be updated). The handler will ensure that RTLD locks are in a sane state prior to fork (by acquiring them), and will then release the locks post-fork. This is the primary fix for lang/rust and cargo.
Also do not issue _thr_rtld_fini() when threading drops to 0. Once threading has been set, rtld's pthread locks remain installed.
* Refactor thr_cond.c. Refactor condition variables to perform according to the spec. Use a TAILQ to make pthread_cond_signal() work exactly as described in the manual (that is, waking up only one waiter at a time).
* Refactor thr_mutex.c. Primary instrument for debugging and clean up. Also deal with improper EINTR handling.
* Refactor thr_fork.c. Implement the new atfork facility for internal atfork handlers.
* Refactor thr_rwlock.c. Add debugging, cleanup.
* thr_sem.c now uses the internal atfork handler to ensure proper ordering.
* thr_sig.c implements debugging features.
* Refactor thr_umtx.c... the low level mutex code. Store the id for additonal verification and use an atomic lock to clear the lock instead of an assignment. Properly ignore EINTR.
* Cleanup init_private() a bit.
* Add PTHREADS_DEBUGGING=TRUE and PTHREADS_DEBUGGING2=TRUE make flags. The first writes out a garbage file in /tmp for all locking operations as they occur. The second is used for point debugging and writes out a file when signal 63 is sent to the program.
* Add cpu_ccfence() in various places that might need it (a hack for the moment, userland cannot currently #include "machine/cpufunc.h").
* Should fix lang/rust and 'cargo'
show more ...
|
Revision tags: v5.0.0, v5.0.0rc2, v5.1.0, v5.0.0rc1, v4.8.1, v4.8.0, v4.6.2, v4.9.0, v4.8.0rc, v4.6.1 |
|
#
6be5672c |
| 16-Sep-2016 |
zrj <rimvydas.jasinskas@gmail.com> |
pthread: Fix some warnings, do not raise WARNS to 6.
Using -Os will create lots of -Winline, thus leave at 5 by default. Sorry for __is_threaded.
|
#
19451dc5 |
| 16-Sep-2016 |
zrj <rimvydas.jasinskas@gmail.com> |
pthread: General pre-cleanup (style, typos etc)
No functional change.
|
Revision tags: v4.6.0, v4.6.0rc2, v4.6.0rc, v4.7.0, v4.4.3, v4.4.2, v4.4.1, v4.4.0, v4.5.0, v4.4.0rc, v4.2.4, v4.3.1, v4.2.3, v4.2.1, v4.2.0, v4.0.6, v4.3.0, v4.2.0rc, v4.0.5, v4.0.4, v4.0.3 |
|
#
146da5fc |
| 08-Jan-2015 |
Michael Neumann <mneumann@ntecs.de> |
Make pthread_*_destroy() more standards compliant
Function pthread_{mutex,cond,rwlock}_destroy() returned EINVAL when the mutex/cond/rwlock was initialized statically via one of the PTHREAD_*_INITIA
Make pthread_*_destroy() more standards compliant
Function pthread_{mutex,cond,rwlock}_destroy() returned EINVAL when the mutex/cond/rwlock was initialized statically via one of the PTHREAD_*_INITIALIZER macros and not being used before destruction. We now return success (0) instead, as it would have been the case when the *_init() function were used for initialization. This is also the behaviour Linux exhibits.
Note that we now can no longer detect multiple calls to *_destroy(). Multiple calls will do no harm, but return success.
While there, fix some potential null pointer derefs in cond and rwlock.
Fixes: #2763
show more ...
|
Revision tags: v4.0.2, v4.0.1, v4.0.0, v4.0.0rc3, v4.0.0rc2, v4.0.0rc, v4.1.0, v3.8.2, v3.8.1, v3.6.3, v3.8.0, v3.8.0rc2, v3.9.0, v3.8.0rc, v3.6.2, v3.6.1, v3.6.0, v3.7.1, v3.6.0rc, v3.7.0, v3.4.3, v3.4.2, v3.4.0, v3.4.1, v3.4.0rc, v3.5.0, v3.2.2, v3.2.1, v3.2.0, v3.3.0, v3.0.3, v3.0.2, v3.0.1, v3.1.0, v3.0.0 |
|
#
86d7f5d3 |
| 26-Nov-2011 |
John Marino <draco@marino.st> |
Initial import of binutils 2.22 on the new vendor branch
Future versions of binutils will also reside on this branch rather than continuing to create new binutils branches for each new version.
|
Revision tags: v2.12.0, v2.13.0, v2.10.1, v2.11.0, v2.10.0, v2.9.1, v2.8.2, v2.8.1, v2.8.0, v2.9.0, v2.6.3, v2.7.3, v2.6.2, v2.7.2, v2.7.1, v2.6.1, v2.7.0, v2.6.0, v2.5.1, v2.4.1, v2.5.0, v2.4.0, v2.3.2, v2.3.1, v2.2.1, v2.2.0, v2.3.0, v2.1.1, v2.0.1 |
|
#
fc71f871 |
| 06-Apr-2006 |
David Xu <davidxu@dragonflybsd.org> |
WARNS level 4 cleanup.
|
#
e8382b15 |
| 05-Apr-2006 |
David Xu <davidxu@dragonflybsd.org> |
Move some global variables into its module, remove priority mutex code which does not work correctly.
|
#
5a1048c8 |
| 05-Apr-2006 |
David Xu <davidxu@dragonflybsd.org> |
Convert weak reference to strong reference so that static library will work better.
|
#
9676dece |
| 12-Apr-2005 |
David Xu <davidxu@dragonflybsd.org> |
Fix brokeness by using _pthread_xxx functions instead.
|
#
13d6535b |
| 05-Apr-2005 |
David Xu <davidxu@dragonflybsd.org> |
Remove unused strong reference.
|
#
9e2ee207 |
| 29-Mar-2005 |
Joerg Sonnenberger <joerg@dragonflybsd.org> |
Cleanup the TLS implementation: - Define the TCB layout in machine/tls.h, define wether tcb_self exists or not. - Define the layout of the DTV, not used yet. - Define the TLS variant - Define commo
Cleanup the TLS implementation: - Define the TCB layout in machine/tls.h, define wether tcb_self exists or not. - Define the layout of the DTV, not used yet. - Define the TLS variant - Define common access functions (tls_get_tcb, tls_get_curthread, tls_set_tcb) and the RTLD functions.
show more ...
|
#
71b3fa15 |
| 01-Feb-2005 |
David Xu <davidxu@dragonflybsd.org> |
Import initial version of 1:1 pthread library.
|