]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Updated internal documentation.
authorBart Van Assche <bvanassche@acm.org>
Mon, 7 Jul 2008 08:45:55 +0000 (08:45 +0000)
committerBart Van Assche <bvanassche@acm.org>
Mon, 7 Jul 2008 08:45:55 +0000 (08:45 +0000)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8375

drd/TODO.txt
drd/Testing.txt
drd/drd_barrier.c

index b3fc34efb672e16572d8fb4e0c090a1d1930d822..bbfdc108c0db8d3787cc9e30a3783e59f7c33450 100644 (file)
@@ -15,6 +15,7 @@ Data-race detection algorithm
 - Find out why no variable name information is printed for races
   detected in parallel sections of OpenMP programs. An example:
   ./vg-in-place --tool=exp-drd exp-drd/tests/omp_prime 4 -t 2
+- Report races in glibc on stdout / stderr back to glibc maintainers.
 
 
 Testing
@@ -27,6 +28,8 @@ Testing
 
 Documentation
 ~~~~~~~~~~~~~
+- Add comment on double checked locking.
+- Add comment on circular buffers.
 - Explain how to handle transactions (with regard to locking order).
 - Continue the discussion on the Valgrind mailing list about docbook and
   'make dist'. See also http://bugs.kde.org/show_bug.cgi?id=162121.
index 90a21653087d8717b2b6e44ac0ac9062aec99469..2502a8e833cebc1cc0822cb1b10d067ac234f964 100644 (file)
@@ -4,20 +4,25 @@ How to test DRD
 1. Run the regression tests. After having compiled DRD, run the following
    command:
      perl tests/vg_regtest drd
-2. Test the slowdown for matinv for various matrix sizes via the script
+2. Run Konstantin's regression tests:
+     svn checkout http://data-race-test.googlecode.com/svn/trunk drt
+     make -C drt/unittest -s build
+     ./vg-in-place --tool=drd drt/unittest/racecheck_unittest 2>&1|less
+3. Test the slowdown for matinv for various matrix sizes via the script
    drd/scripts/run-matinv (must be about 24 for i == 1 and about
    31 for i == 10 with n == 200).
-3. Test whether DRD works with standard KDE applications and whether it does
+4. Test whether DRD works with standard KDE applications and whether it does
    not print any false positives:
      ./vg-in-place --tool=drd kate
      ./vg-in-place --tool=drd --check-stack-var=yes kate
      ./vg-in-place --trace-children=yes --tool=drd knode
      ./vg-in-place --trace-children=yes --tool=drd --check-stack-var=yes knode
      ./vg-in-place --trace-children=yes --tool=drd amarokapp
-4. Test whether DRD works with standard GNOME applications. Expect
+5. Test whether DRD works with standard GNOME applications. Expect
    race reports triggered by ORBit_RootObject_duplicate() and after
    having closed the GNOME terminal window:
      ./vg-in-place --trace-children=yes --tool=drd gnome-terminal
-5. Test DRD with Firefox. First of all, build and install Firefox 3. Next,
-   run the following command:
+6. Test DRD with Firefox. First of all, build and install Firefox 3:
+     drd/scripts/download-and-build-firefox
+   Next, run the following command:
      LD_LIBRARY_PATH=$HOME/software/mozilla-build/dist/lib: ./vg-in-place --trace-children=yes --tool=drd $HOME/software/mozilla-build/dist/bin/firefox-bin
index fac3eb73c05240827ce3074fa2a0280a7d98ccfb..0f2d4db060f49aca5d7f315067d4eae8f9b930af 100644 (file)
@@ -410,6 +410,9 @@ void barrier_thread_delete(const DrdThreadId tid)
     struct barrier_thread_info* q;
     const UWord word_tid = tid;
     q = VG_(OSetGen_Remove)(p->oset, &word_tid);
+    /* q is only non-zero if the barrier object has been used by thread tid
+     * after the barrier_init() call and before the thread finished.
+     */
     if (q)
     {
       barrier_thread_destroy(q);