363b7bd537
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. |
||
---|---|---|
.. | ||
alpha | ||
amd64 | ||
i386 | ||
debug.c | ||
debug.h | ||
lockdflt.c | ||
Makefile | ||
malloc.c | ||
map_object.c | ||
rtld.1 | ||
rtld.c | ||
rtld.h | ||
xmalloc.c |