From: Andraz T. <And...@gu...> - 2003-05-30 00:29:04
|
V pet, 30.05.2003 ob 02:07, je Julian Seward poslal(a): > > So my question is... would it be possible for Valgrind to support this > > bugous behaviour by some switch or something? > > > > The problem is that cinelerra works just fine if it is run without > > valgrind... > > If what you say is true, then it only works by luck and is certainly > not compliant the the POSIX pthread standard. It sounds like you > need to use the "condition variable" facility of POSIX pthreads to > achieve the "data ready" signalling you want, or perhaps the > POSIX semaphore functions (sem_*). well.. i don't know why it works. but fact is that the whole program (heavily multithreaded) is written in such manner, and up to now there were no problems with it... Maybe it is not what POSIX says, but it seems that it works... i just added error checking if(pthread_mutex_unlock(&mutex)) printf("Mutex unlock error"); no error is ever reported (when not running under valgrind). Valgrind reports warning, but returns success! Does this mean that pthreads do not do what they should? i don't know. I am not an expert, just an user with a problem, so i am sorry if i say something stupid. :) bye andraz |