#include <sys/uio.h>
#endif
+#ifdef NETWARE
+#include <nwsemaph.h>
+static LONG locking_sem = 0;
+#endif
+
/*
** +-------------------------------------------------------+
** | |
chown(lockname, ap_user_id, -1 /* no gid change */);
#endif
+#ifdef NETWARE
+ locking_sem = OpenLocalSemaphore (1);
+#endif
+
return;
}
unlink(lockname);
lockname = NULL;
lockfd = -1;
+#ifdef NETWARE
+ CloseLocalSemaphore (locking_sem);
+#endif
+
}
static void rewritelock_alloc(request_rec *r)
rc = _locking(fd, _LK_LOCK, 1);
lseek(fd, 0, SEEK_END);
#endif
+#ifdef NETWARE
+ if ((locking_sem != 0) && (TimedWaitOnLocalSemaphore (locking_sem, 10000) != 0))
+ rc = -1;
+ else
+ rc = 1;
+#endif
if (rc < 0) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, r,
rc = _locking(fd, _LK_UNLCK, 1);
lseek(fd, 0, SEEK_END);
#endif
+#ifdef NETWARE
+ if (locking_sem)
+ SignalLocalSemaphore (locking_sem);
+ rc = 1;
+#endif
if (rc < 0) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, r,