jim 02/03/07 17:50:05
Modified: locks/unix crossproc.c
Log:
We actually need to bubble up errno for this... can't assume that it
always succeeds hence sysv_destroy is bogus.
Revision Changes Path
1.57 +5 -2 apr/locks/unix/crossproc.c
Index: crossproc.c
===================================================================
RCS file: /home/cvs/apr/locks/unix/crossproc.c,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -r1.56 -r1.57
--- crossproc.c 8 Jan 2002 06:44:24 -0000 1.56
+++ crossproc.c 8 Mar 2002 01:50:05 -0000 1.57
@@ -77,12 +77,15 @@
{
apr_lock_t *lock=lock_;
union semun ick;
+ apr_status_t stat = APR_SUCCESS;
if (lock->interproc->filedes != -1) {
ick.val = 0;
- semctl(lock->interproc->filedes, 0, IPC_RMID, ick);
+ if (semctl(lock->interproc->filedes, 0, IPC_RMID, ick) < 0) {
+ stat = errno;
+ }
}
- return APR_SUCCESS;
+ return stat;
}
static apr_status_t sysv_create(apr_lock_t *new, const char *fname)