X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fguicast%2Fthread.C;h=26ccf9a45918ce78b7147c4dc7bb6829b136da18;hb=38cb4182e11e57fc426bede3825e825e9d61433b;hp=6cde612dfdfbb853902f02e423bc39699817bf18;hpb=21c2e6b36d6a96c2f662a89459d607b5a387f4eb;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/guicast/thread.C b/cinelerra-5.1/guicast/thread.C index 6cde612d..26ccf9a4 100644 --- a/cinelerra-5.1/guicast/thread.C +++ b/cinelerra-5.1/guicast/thread.C @@ -127,9 +127,14 @@ int Thread::join() // join this thread { if( !exists() ) return 0; if( synchronous ) { -// NOTE: this does not do anything if the thread is not synchronous +// NOTE: this fails if the thread is not synchronous or +// or another thread is already waiting to join. int ret = pthread_join(tid, 0); - if( ret ) strerror(ret); + if( ret ) { + fflush(stdout); + fprintf(stderr, "Thread %p: %s\n", (void*)tid, strerror(ret)); + fflush(stderr); + } CLEAR_LOCKS_TID(tid); TheList::dbg_del(tid); tid = ((pthread_t)-1);