On Tue, Dec 22, 2009 at 5:05 PM, John David Anglin <dave@xxxxxxxxxxxxxxxxxx> wrote: >> I think we need to step back from the edge and ask ourselves what >> Tcl_WaitForEvent() is trying to do with the locks. >> >> Do you know? > > In unix/tclUnixNotify.c: > > #ifdef TCL_THREADS > /* > * Place this thread on the list of interested threads, signal the > * notifier thread, and wait for a response or a timeout. > */ There will never be a timeout if you call pthread_mutex_lock as the underlying operation. So this comment is a bit odd? > Tcl_MutexLock(¬ifierMutex); > ... > #endif > > ... > > #ifdef TCL_THREADS > Tcl_MutexUnlock(¬ifierMutex); > #endif /* TCL_THREADS */ > return 0; > } > > There may be a timed wait while holding the lock. Something is broken > in the tcl/expect handling of timed waits as there were a couple of > compile timeouts for compilations that shouldn't have timed out. There is no timed wait possible, you have called pthread_mutex_lock, instead of pthread_mutex_timedlock. What are Tcl's expectations here? It looks like we are stuck in libtcl.so for both threads, which are trying to access this event queue. Cheers, Carlos. -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html