* Sebastian Hammer, Adam Dickmeiss
*
* $Log: locksrv.c,v $
- * Revision 1.12 1999-02-02 14:50:58 adam
+ * Revision 1.16 2001-10-29 22:16:38 adam
+ * Server unlocks both "cmt" and "org" lock in zebra_server_unlock.
+ *
+ * Revision 1.15 2000/12/01 17:59:08 adam
+ * Fixed bug regarding online updates on WIN32.
+ * When zebra.cfg is not available the server will not abort.
+ *
+ * Revision 1.14 2000/03/15 15:00:30 adam
+ * First work on threaded version.
+ *
+ * Revision 1.13 1999/05/26 07:49:13 adam
+ * C++ compilation.
+ *
+ * Revision 1.12 1999/02/02 14:50:58 adam
* Updated WIN32 code specific sections. Changed header.
*
* Revision 1.11 1998/03/05 08:45:12 adam
#include "zserver.h"
-int zebra_server_lock_init (ZebraHandle zi)
+int zebra_server_lock_init (ZebraService zi)
{
char path_prefix[1024];
- assert (zi->res);
zi->server_lock_cmt = NULL;
zi->server_lock_org = NULL;
zebra_lock_prefix (zi->res, path_prefix);
- zi->server_path_prefix = xmalloc (strlen(path_prefix)+1);
+ zi->server_path_prefix = (char *) xmalloc (strlen(path_prefix)+1);
strcpy (zi->server_path_prefix, path_prefix);
logf (LOG_DEBUG, "Locking system initialized");
return 0;
}
-int zebra_server_lock_destroy (ZebraHandle zi)
+int zebra_server_lock_destroy (ZebraService zi)
{
xfree (zi->server_path_prefix);
zebra_lock_destroy (zi->server_lock_cmt);
return 0;
}
-int zebra_server_lock (ZebraHandle zi, int commitPhase)
+int zebra_server_lock (ZebraService zi, int commitPhase)
{
if (!zi->server_lock_cmt)
{
return 0;
}
-void zebra_server_unlock (ZebraHandle zi, int commitPhase)
+void zebra_server_unlock (ZebraService zi, int commitPhase)
{
if (zi->server_lock_org == NULL)
return;
- if (commitPhase)
- {
- logf (LOG_DEBUG, "Server unlocks org");
- zebra_unlock (zi->server_lock_org);
- }
- else
- {
- logf (LOG_DEBUG, "Server unlocks cmt");
- zebra_unlock (zi->server_lock_cmt);
- }
+ logf (LOG_DEBUG, "Server unlocks org");
+ zebra_unlock (zi->server_lock_org);
+ logf (LOG_DEBUG, "Server unlocks cmt");
+ zebra_unlock (zi->server_lock_cmt);
}
-int zebra_server_lock_get_state (ZebraHandle zi, time_t *timep)
+int zebra_server_lock_get_state (ZebraService zi, time_t *timep)
{
char path[1024];
char buf[256];
if (stat (path, &xstat) == -1)
*timep = 1;
else
- *timep = xstat.st_ctime;
+ *timep = xstat.st_mtime;
strcpy (path, zi->server_path_prefix);
strcat (path, FNAME_MAIN_LOCK);