libtool: Thread Safety in libltdl

1 
1 11.3 Using libltdl in a multi threaded environment
1 ==================================================
1 
1 Libltdl provides a wrapper around whatever dynamic run-time object
1 loading mechanisms are provided by the host system, many of which are
1 themselves not thread safe.  Consequently libltdl cannot itself be
1 consistently thread safe.
1 
1    If you wish to use libltdl in a multithreaded environment, then you
1 must mutex lock around libltdl calls, since they may in turn be calling
1 non-thread-safe system calls on some target hosts.
1 
1    Some old releases of libtool provided a mutex locking API that was
1 unusable with POSIX threads, so callers were forced to lock around all
1 libltdl API calls anyway.  That mutex locking API was next to useless,
1 and is not present in current releases.
1 
1    Some future release of libtool may provide a new POSIX thread
1 compliant mutex locking API.
1