2 * Copyright 2000, International Business Machines Corporation and others.
5 * This software has been released under the terms of the IBM Public
6 * License. For details, see the LICENSE file in the top-level source
7 * directory or online at http://www.openafs.org/dl/license10.html
11 * rx_kmutex.c - mutex and condition variable macros for kernel environment.
13 * Solaris implementation.
16 #include <afsconfig.h>
17 #include "afs/param.h"
22 #if defined(AFS_SUN5_ENV) && defined(KERNEL)
24 #include "rx/rx_kcommon.h"
25 #include "rx_kmutex.h"
26 #include "rx/rx_kernel.h"
29 #include <sys/tiuser.h>
30 #include <sys/t_lock.h>
31 #include <sys/mutex.h>
35 afs_cv_wait(cv, m, sigok, fileid, line)
40 afs_cv_wait(cv, m, sigok)
46 int haveGlock = ISAFS_GLOCK();
52 rxdb_droplock(m, osi_ThreadUnique(), fileid, line);
55 if (cv_wait_sig(cv, m) == 0)
61 rxdb_grablock(m, osi_ThreadUnique(), fileid, line);
73 afs_cv_timedwait(cv, m, t, sigok, fileid, line)
78 afs_cv_timedwait(cv, m, t, sigok)
85 int haveGlock = ISAFS_GLOCK();
91 rxdb_droplock(m, osi_ThreadUnique(), fileid, line);
94 if (cv_timedwait_sig(cv, m, t) == 0)
97 cv_timedwait(cv, m, t);
100 rxdb_grablock(m, osi_ThreadUnique(), fileid, line);
110 #endif /* SUN5 && KERNEL */