Workaround pthreads-win32 pthread_rwlock_init limitation.
[fio.git] / mutex.c
diff --git a/mutex.c b/mutex.c
index 5a65e53a2dde6ac2be247b8d05716df715b6be06..e1fbb607f1a416fb06a25a611f0f4233c9814357 100644 (file)
--- a/mutex.c
+++ b/mutex.c
@@ -196,18 +196,21 @@ struct fio_rwlock *fio_rwlock_init(void)
 
        ret = pthread_rwlockattr_init(&attr);
        if (ret) {
-               log_err("pthread_rwlock_init: %s\n", strerror(ret));
+               log_err("pthread_rwlockattr_init: %s\n", strerror(ret));
                goto err;
        }
 #ifdef FIO_HAVE_PSHARED_MUTEX
        ret = pthread_rwlockattr_setpshared(&attr, PTHREAD_PROCESS_SHARED);
        if (ret) {
-               log_err("pthread_rwlock_init: %s\n", strerror(ret));
+               log_err("pthread_rwlockattr_setpshared: %s\n", strerror(ret));
                goto destroy_attr;
        }
-#endif
 
        ret = pthread_rwlock_init(&lock->lock, &attr);
+#else
+       ret = pthread_rwlock_init(&lock->lock, NULL);
+#endif
+
        if (ret) {
                log_err("pthread_rwlock_init: %s\n", strerror(ret));
                goto destroy_attr;