[glib: 1/2] gthread: Fix g_rw_lock_reader_lock() documentation



commit 231661e46c865881aa5bf5da05756622da5baa58
Author: Philip Withnall <withnall endlessm com>
Date:   Fri May 31 21:36:34 2019 +0100

    gthread: Fix g_rw_lock_reader_lock() documentation
    
    The documentation erroneously said that a thread calling
    g_rw_lock_reader_lock() would always block if another thread was waiting
    for the write lock. That’s not true: if no thread holds the lock, it is
    implementation defined which of a waiting reader and writer gets the
    lock.
    
    See
    http://pubs.opengroup.org/onlinepubs/009695399/functions/pthread_rwlock_rdlock.html.
    
    Signed-off-by: Philip Withnall <withnall endlessm com>
    
    Fixes: #590

 glib/gthread-posix.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
---
diff --git a/glib/gthread-posix.c b/glib/gthread-posix.c
index 1e2fdb59a..8b8561639 100644
--- a/glib/gthread-posix.c
+++ b/glib/gthread-posix.c
@@ -587,8 +587,10 @@ g_rw_lock_writer_unlock (GRWLock *rw_lock)
  * @rw_lock: a #GRWLock
  *
  * Obtain a read lock on @rw_lock. If another thread currently holds
- * the write lock on @rw_lock or blocks waiting for it, the current
- * thread will block. Read locks can be taken recursively.
+ * the write lock on @rw_lock, the current thread will block. If another thread
+ * does not hold the write lock, but is waiting for it, it is implementation
+ * defined whether the reader or writer will block. Read locks can be taken
+ * recursively.
  *
  * It is implementation-defined how many threads are allowed to
  * hold read locks on the same lock simultaneously. If the limit is hit,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]