mirror of
https://github.com/opnsense/src.git
synced 2026-02-12 23:36:07 -05:00
locking functions. If an application loads a shared object with dlopen() and the shared object has an init function which requires lazy binding, then _rtld_bind is called when the thread is already inside the dynamic linker. This leads to a recursive acquisition of the lock, which I was not expecting -- hence the assert failure. This work-around makes the default locking functions handle recursive locking. It is NOT the correct fix -- that should be implemented at the generic locking level rather than in the default locking functions. I will implement the correct fix in a future commit. Since the dllockinit() interface will likely need to change, warn about that in both the man page and the header file. |
||
|---|---|---|
| .. | ||
| lockdflt.c | ||
| Makefile.inc | ||
| reloc.c | ||
| rtld_machdep.h | ||
| rtld_start.S | ||