Bug 213383

Summary: The information in the Helgrind manual about POSIX condition variables is incorrect
Product: [Developer tools] valgrind Reporter: Bart Van Assche <bart.vanassche+kde>
Component: helgrindAssignee: Julian Seward <jseward>
Status: CONFIRMED ---    
Severity: wishlist    
Priority: NOR    
Version First Reported In: 3.5.0   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Bart Van Assche 2009-11-06 09:02:08 UTC
Version:           3.5.0 (using KDE 4.3.3)
Compiler:          N/A N/A
OS:                Linux
Installed from:    Compiled From Sources

The Helgrind 3.5.0 manual contains a.o. the following text (section 7.5, item 3):

"This is because Helgrind can see inter-thread dependencies between a pthread_cond_wait call and a pthread_cond_signal/pthread_cond_broadcast call only if the waiting thread actually gets to the rendezvous first (so that it actually calls pthread_cond_wait)."

The above statement was correct for the old Eraser-style data race detection algorithm, but is no longer correct for the happens-before data race detection algorithm implemented in Helgrind 3.5.0.