/*
- * Copyright (C) 1994-1995, Index Data I/S
+ * Copyright (C) 1994-1996, Index Data I/S
* All rights reserved.
* Sebastian Hammer, Adam Dickmeiss
*
* $Log: locksrv.c,v $
- * Revision 1.2 1995-12-08 16:22:55 adam
+ * Revision 1.6 1996-10-29 14:06:52 adam
+ * Include zebrautl.h instead of alexutil.h.
+ *
+ * Revision 1.5 1996/05/15 11:58:18 adam
+ * Changed some log messages.
+ *
+ * Revision 1.4 1996/04/10 16:01:27 quinn
+ * Fixed order of path/filename.
+ *
+ * Revision 1.3 1995/12/11 11:43:29 adam
+ * Locking based on fcntl instead of flock.
+ * Setting commitEnable removed. Command line option -n can be used to
+ * prevent commit if commit setting is defined in the configuration file.
+ *
+ * Revision 1.2 1995/12/08 16:22:55 adam
* Work on update while servers are running. Three lock files introduced.
* The servers reload their registers when necessary, but they don't
* reestablish result sets yet.
#include <stdio.h>
#include <assert.h>
#include <unistd.h>
-#include <sys/file.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
#include <errno.h>
-#include <alexutil.h>
#include "zserver.h"
static int server_lock_cmt = -1;
if (server_lock_cmt == -1)
{
- sprintf (path, "%s%s", FNAME_COMMIT_LOCK, pathPrefix);
+ sprintf (path, "%s%s", pathPrefix, FNAME_COMMIT_LOCK);
if ((server_lock_cmt = open (path, O_CREAT|O_RDWR, 0666))
== -1)
{
}
assert (server_lock_org == -1);
- sprintf (path, "%s%s", FNAME_ORG_LOCK, pathPrefix);
+ sprintf (path, "%s%s", pathPrefix, FNAME_ORG_LOCK);
if ((server_lock_org = open (path, O_CREAT|O_RDWR, 0666))
== -1)
{
}
if (commitPhase)
{
- logf (LOG_LOG, "Server locks org");
- flock (server_lock_org, LOCK_SH);
+ logf (LOG_DEBUG, "Server locks org");
+ zebraLock (server_lock_org, 0);
}
else
{
- logf (LOG_LOG, "Server locks cmt");
- flock (server_lock_cmt, LOCK_SH);
+ logf (LOG_DEBUG, "Server locks cmt");
+ zebraLock (server_lock_cmt, 0);
}
return 0;
}
return;
if (commitPhase)
{
- logf (LOG_LOG, "Server unlocks org");
- flock (server_lock_org, LOCK_UN);
+ logf (LOG_DEBUG, "Server unlocks org");
+ zebraUnlock (server_lock_org);
}
else
{
- logf (LOG_LOG, "Server unlocks cmt");
- flock (server_lock_cmt, LOCK_UN);
+ logf (LOG_DEBUG, "Server unlocks cmt");
+ zebraUnlock (server_lock_cmt);
}
}