Python Threads and C Semaphores


I have a fat C++ extension to a Python 2.3.4 program. In all, I count
five threads. Of these, two are started in Python using
thread.start_new_thread(), and both of these wait on semaphores in the
extension using sem_wait(). There also is one Python thread spawned with, and one thread running wholly
the extension.

I notice that when one of the Python threads calls the extension and
on a semaphore, all but the C++ thread halt even when not waiting on any
semaphore. How do we get this working right?

Thank you,