mirror of
https://github.com/opnsense/src.git
synced 2026-02-22 09:21:31 -05:00
used a global pthread_mutex_t for synchronization. r179417 replaced that with an implementation that directly used atomic instructions and thr_* syscalls to synchronize callers to pthread_once. However, calling pthread_mutex_lock on the global mutex implicitly ensured that _thr_check_init() had been called but with r179417 this was no longer guaranteed. This meant that if you were unlucky enough to have your first call into libthr be a call to pthread_once(), you would segfault when trying to access the pointer returned by _get_curthread(). The fix is to explicitly call _thr_check_init() from pthread_once(). Reviewed by: davidxu Approved by: emaste (mentor) MFC after: 1 week |
||
|---|---|---|
| .. | ||
| arch | ||
| support | ||
| sys | ||
| thread | ||
| libthr.3 | ||
| Makefile | ||
| pthread.map | ||