sim4db doesn't use more than 2 worker threads
Brought to you by:
brianwalenz,
florea
sim4db-r1896 does not use more than two worker threads due to a mutex issue in Sim4::splice_init().
The first thread to lock the mutex loads the splice model (if applicable) and unlocks the mutex; the second thread to lock the mutex returns without unlocking it, leaving subsequent threads blocked in the call to pthread_mutex_lock().
The attached patch to splice.C ensures that the second and subsequent threads to lock the mutex unlock it before they return.
patch to splice.C to fix mutex issue