From: Julian S. <js...@ac...> - 2009-01-28 17:44:44
|
> I have a server which creates a new detached pthread every time it > accepts a new connection. Hmm, detached threads are bad news, at least from a race detection point of view. See http://www.valgrind.org/docs/manual/hg-manual.html#hg-manual.effective-use point 5 ("Round up all finished threads using pthread_join. ..."). Try to pthread_join all your threads before the end of the program and see if that improves the situation. Maybe the lock you added isn't really necessary. > My question is: has there really been a data race, or did valgrind > only decide that if the timing is right, there could be a data race? > > >From the way i see it, there could not have been a real data race... But because your threads are detached, Helgrind cannot know when they finish (logically) relative to each other and the parent. That's why it is better to pthread_join to them. J |