#include <roken.h>
#include <afs/opr.h>
-#include <lock.h>
+
+#ifdef AFS_PTHREAD_ENV
+# include <opr/lock.h>
+#endif
+
#include <ubik.h>
#include <lwp.h>
#include <rx/rx.h>
/* Initialize the condition variables and the mutexes we use
* to signal and synchronize the reader and writer threads.
*/
- CV_INIT(&dumpSyncPtr->ds_readerStatus_cond, "reader cond", CV_DEFAULT, 0);
- CV_INIT(&dumpSyncPtr->ds_writerStatus_cond, "writer cond", CV_DEFAULT, 0);
- MUTEX_INIT(&dumpSyncPtr->ds_readerStatus_mutex, "reader", MUTEX_DEFAULT, 0);
- MUTEX_INIT(&dumpSyncPtr->ds_writerStatus_mutex, "writer", MUTEX_DEFAULT, 0);
+ opr_cv_init(&dumpSyncPtr->ds_readerStatus_cond);
+ opr_cv_init(&dumpSyncPtr->ds_writerStatus_cond);
+ opr_mutex_init(&dumpSyncPtr->ds_readerStatus_mutex);
+ opr_mutex_init(&dumpSyncPtr->ds_writerStatus_mutex);
/* Initialize the thread attributes and launch the thread */
LogDebug(6, "wakup writer\n");
dumpSyncPtr->ds_writerStatus = 0;
#ifdef AFS_PTHREAD_ENV
- CV_BROADCAST(&dumpSyncPtr->ds_writerStatus_cond);
+ opr_cv_broadcast(&dumpSyncPtr->ds_writerStatus_cond);
#else
code = LWP_SignalProcess(&dumpSyncPtr->ds_writerStatus);
if (code)
dumpSyncPtr->ds_readerStatus = DS_WAITING;
ReleaseWriteLock(&dumpSyncPtr->ds_lock);
#ifdef AFS_PTHREAD_ENV
- MUTEX_ENTER(&dumpSyncPtr->ds_readerStatus_mutex);
- CV_WAIT(&dumpSyncPtr->ds_readerStatus_cond, &dumpSyncPtr->ds_readerStatus_mutex);
- MUTEX_EXIT(&dumpSyncPtr->ds_readerStatus_mutex);
+ opr_mutex_enter(&dumpSyncPtr->ds_readerStatus_mutex);
+ opr_cv_wait(&dumpSyncPtr->ds_readerStatus_cond, &dumpSyncPtr->ds_readerStatus_mutex);
+ opr_mutex_exit(&dumpSyncPtr->ds_readerStatus_mutex);
#else
LWP_WaitProcess(&dumpSyncPtr->ds_readerStatus);
#endif
if (dumpSyncPtr->ds_writerStatus == DS_WAITING) {
dumpSyncPtr->ds_writerStatus = 0;
#ifdef AFS_PTHREAD_ENV
- CV_BROADCAST(&dumpSyncPtr->ds_writerStatus_cond);
+ opr_cv_broadcast(&dumpSyncPtr->ds_writerStatus_cond);
#else
code = LWP_SignalProcess(&dumpSyncPtr->ds_writerStatus);
if (code)