Subj : dlopen and semaphores To : comp.programming.threads From : Orioniz Date : Mon Feb 14 2005 08:44 am Hi, I have a multithreaded program for linux. It has two threads (lets call then A and B). B performs some function that A needs. A sends a message to B to perform that function, and passes along a pointer to a sem_t object. Once A has send the message, it calls sem_wait. When B receives the msg, it performs the desired function and calls sem_post. This works fine. However, when I put the code for A into a dynamic library, and start thread A with a pointer to a function in the dynamic library, things go wrong. A starts fine and still sends the message, B still performs the function and calls sem_post (returns 0) but A never gets past the sem_wait, even though sem_post was called on it. Why? I cannot find any reason. Any thoughts would be greatly appreciated. Bart .