170510 Don't warn about ioctl of size 0 without direction hint
351857 confusing error message about valid command line option
392331 Spurious lock not held error from inside pthread_cond_timedwait
+400793 pthread_rwlock_timedwrlock false positive
444110 priv/guest_ppc_toIR.c:36198:31: warning: duplicated 'if' condition.
444488 Use glibc.pthread.stack_cache_size tunable
444568 drd/tests/pth_barrier_thr_cr fails on Fedora 38
pthread_rwlock_unlock
pthread_rwlock_tryrdlock
pthread_rwlock_trywrlock
-
- Unhandled: pthread_rwlock_timedrdlock
- pthread_rwlock_timedwrlock
*/
//-----------------------------------------------------------
//-----------------------------------------------------------
-// glibc: Unhandled
+// glibc: pthread_rwlock_timedrdlock
// darwin: Unhandled
// Solaris: pthread_rwlock_timedrdlock
// Solaris: pthread_rwlock_reltimedrdlock_np
return ret;
}
#if defined(VGO_linux)
+PTH_FUNC(int, pthreadZurwlockZutimedrdlock, // pthread_rwlock_timedrdlock
+ pthread_rwlock_t *rwlock,
+ const struct timespec *timeout) {
+ return pthread_rwlock_timedrdlock_WRK(rwlock, timeout);
+}
#elif defined(VGO_darwin)
#elif defined(VGO_freebsd)
PTH_FUNC(int, pthreadZurwlockZutimedrdlock, // pthread_rwlock_timedrdlock
//-----------------------------------------------------------
-// glibc: Unhandled
-// darwin: Unhandled
+// glibc: pthread_rwlock_timedwrlock
// Solaris: pthread_rwlock_timedwrlock
// Solaris: pthread_rwlock_reltimedwrlock_np
// FreeBSD: pthread_rwlock_timedwrlock
return ret;
}
#if defined(VGO_linux)
+PTH_FUNC(int, pthreadZurwlockZutimedwrlock, // pthread_rwlock_timedwrlock
+ pthread_rwlock_t *rwlock,
+ const struct timespec *timeout) {
+ return pthread_rwlock_timedwrlock_WRK(rwlock, timeout);
+}
#elif defined(VGO_darwin)
#elif defined(VGO_freebsd)
PTH_FUNC(int, pthreadZurwlockZutimedwrlock, // pthread_rwlock_timedwrlock
tc24_nonzero_sem.vgtest tc24_nonzero_sem.stdout.exp \
tc24_nonzero_sem.stderr.exp \
tls_threads.vgtest tls_threads.stdout.exp \
- tls_threads.stderr.exp
+ tls_threads.stderr.exp \
+ trylock.vgtest trylock.stderr.exp
# Wrapper headers used by some check programs.
noinst_HEADERS = safe-pthread.h safe-semaphore.h
--- /dev/null
+
+Locking rwlock via pthread_rwlock_wrlock().
+Locking rwlock via pthread_rwlock_trywrlock().
+Locking rwlock via pthread_rwlock_timedwrlock().
+Locking rwlock via pthread_rwlock_rdlock().
+Locking rwlock via pthread_rwlock_tryrdlock().
+Locking rwlock via pthread_rwlock_timedrdlock().
+Attempt to lock for writing recursively (not allowed).
+Locking mutex via pthread_mutex_trylock().
+Locking mutex via pthread_mutex_lock().
+Locking mutex via pthread_mutex_timedlock().
+
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)