4helgrindHelgrind, a thread error detectorCopyright (C) XXXX-YYYY, and GNU GPL'd, by OpenWorks LLP et al.Using Valgrind-X.Y.X and LibVEX; rerun with -h for copyright infoCommand: ./tc06_two_races......helgrind...--command-line-only=yes--memcheck:leak-check=no--tool=helgrind--read-var-info=yes--xml=yes--xml-fd=2--log-file=/dev/null...RUNNING12
...
0x...........pthread_create...hg_intercepts.c...0x...........main...tc06_two_races.c26......RacePossible data race during read of size 4 at 0x........ by thread #x10x...........main...tc06_two_races.c31This conflicts with a previous write of size 4 by thread #x20x...........child_fn...tc06_two_races.c140x...........mythread_wrapper...hg_intercepts.c...
...
Location 0x........ is 0 bytes inside global var "unprot1"declared at tc06_two_races.c:9tc06_two_races.c9......RacePossible data race during write of size 4 at 0x........ by thread #x10x...........main...tc06_two_races.c31This conflicts with a previous write of size 4 by thread #x20x...........child_fn...tc06_two_races.c140x...........mythread_wrapper...hg_intercepts.c...
...
Location 0x........ is 0 bytes inside global var "unprot1"declared at tc06_two_races.c:9tc06_two_races.c9......RacePossible data race during read of size 4 at 0x........ by thread #x10x...........main...tc06_two_races.c35This conflicts with a previous write of size 4 by thread #x20x...........child_fn...tc06_two_races.c180x...........mythread_wrapper...hg_intercepts.c...
...
Location 0x........ is 0 bytes inside global var "unprot2"declared at tc06_two_races.c:9tc06_two_races.c9......RacePossible data race during write of size 4 at 0x........ by thread #x10x...........main...tc06_two_races.c35This conflicts with a previous write of size 4 by thread #x20x...........child_fn...tc06_two_races.c180x...........mythread_wrapper...hg_intercepts.c...
...
Location 0x........ is 0 bytes inside global var "unprot2"declared at tc06_two_races.c:9tc06_two_races.c9FINISHED......