Follow-up of r10638 and r10639: explained in the manual that DRD is now
able to perform rwlock type checking.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10640 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/drd/docs/drd-manual.xml b/drd/docs/drd-manual.xml
index 8de5556..ee49ac7 100644
--- a/drd/docs/drd-manual.xml
+++ b/drd/docs/drd-manual.xml
@@ -147,7 +147,8 @@
Synchronization objects and operations on these synchronization
objects. The following types of synchronization objects have been
defined in the POSIX threads standard: mutexes, condition variables,
- semaphores, reader-writer locks, barriers and spinlocks.
+ semaphores, reader-writer synchronization objects, barriers and
+ spinlocks.
</para>
</listitem>
</itemizedlist>
@@ -699,9 +700,9 @@
<title>Detected Errors: Lock Contention</title>
<para>
-Threads must be able to make progress without being blocked for too
-long by other threads. Sometimes a thread has to wait until a mutex or
-reader-writer lock is unlocked by another thread. This is called
+Threads must be able to make progress without being blocked for too long by
+other threads. Sometimes a thread has to wait until a mutex or reader-writer
+synchronization object is unlocked by another thread. This is called
<emphasis>lock contention</emphasis>.
</para>
@@ -800,18 +801,33 @@
</listitem>
<listitem>
<para>
- Destruction or deallocation of a locked reader-writer lock.
+ Destruction or deallocation of a locked reader-writer synchronization
+ object.
</para>
</listitem>
<listitem>
<para>
- Attempts to unlock a reader-writer lock that was not locked by
- the calling thread.
+ Attempts to unlock a reader-writer synchronization object that was not
+ locked by the calling thread.
</para>
</listitem>
<listitem>
<para>
- Attempts to recursively lock a reader-writer lock exclusively.
+ Attempts to recursively lock a reader-writer synchronization object
+ exclusively.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Attempts to pass the address of a user-defined reader-writer
+ synchronization object to a POSIX threads function.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Attempts to pass the address of a POSIX reader-writer synchronization
+ object to one of the annotations for user-defined reader-writer
+ synchronization objects.
</para>
</listitem>
<listitem>
@@ -833,9 +849,8 @@
</listitem>
<listitem>
<para>
- Exiting a thread without first unlocking the spinlocks,
- mutexes or reader-writer locks that were locked by that
- thread.
+ Exiting a thread without first unlocking the spinlocks, mutexes or
+ reader-writer synchronization objects that were locked by that thread.
</para>
</listitem>
</itemizedlist>
@@ -1062,6 +1077,12 @@
</para>
<para>
+For an example of how to use the annotations for user-defined reader-writer
+synchronization objects, see
+also <literal>drd/tests/annotate_rwlock.c</literal>.
+</para>
+
+<para>
Note: if you compiled Valgrind yourself, the header file
<literal><valgrind/drd.h></literal> will have been installed in
the directory <literal>/usr/include</literal> by the command