You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by bj...@apache.org on 2001/08/05 12:15:47 UTC
cvs commit: apr/locks/os2 locks.c
bjh 01/08/05 03:15:47
Modified: locks/os2 locks.c
Log:
OS/2: implement apr_lock_tryacquire()
Revision Changes Path
1.34 +15 -3 apr/locks/os2/locks.c
Index: locks.c
===================================================================
RCS file: /home/cvs/apr/locks/os2/locks.c,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- locks.c 2001/07/19 00:11:57 1.33
+++ locks.c 2001/08/05 10:15:46 1.34
@@ -135,13 +135,14 @@
-apr_status_t apr_lock_acquire(apr_lock_t *lock)
+// blocks for no more than ms_timeout milliseconds
+static apr_status_t os2_lock_acquire(apr_lock_t *lock, int ms_timeout)
{
ULONG rc;
switch (lock->type) {
case APR_MUTEX:
- rc = DosRequestMutexSem(lock->hMutex, SEM_INDEFINITE_WAIT);
+ rc = DosRequestMutexSem(lock->hMutex, ms_timeout);
if (rc == 0) {
lock->owner = CurrentTid;
@@ -157,10 +158,21 @@
return APR_OS2_STATUS(rc);
}
+
+
+apr_status_t apr_lock_acquire(apr_lock_t *lock)
+{
+ return os2_lock_acquire(lock, SEM_INDEFINITE_WAIT);
+}
+
+
+
apr_status_t apr_lock_tryacquire(apr_lock_t *lock)
{
- return APR_ENOTIMPL;
+ return os2_lock_acquire(lock, SEM_IMMEDIATE_RETURN);
}
+
+
apr_status_t apr_lock_acquire_rw(apr_lock_t *lock, apr_readerwriter_e e)
{