X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Flocksrv.c;h=176aba58aa05221138031548974e4836c3587a44;hb=087298c5eeb7746a1d0ded9067b1d582bd641a25;hp=2b17ba0fdff8b81ead9506e6453897bb298b2af4;hpb=e583a127856d4f363ff2ba7b4321bcc8c048edba;p=idzebra-moved-to-github.git diff --git a/index/locksrv.c b/index/locksrv.c index 2b17ba0..176aba5 100644 --- a/index/locksrv.c +++ b/index/locksrv.c @@ -1,10 +1,27 @@ /* - * Copyright (C) 1994-1997, Index Data I/S + * Copyright (C) 1994-1999, Index Data * All rights reserved. * Sebastian Hammer, Adam Dickmeiss * * $Log: locksrv.c,v $ - * Revision 1.10 1997-09-29 09:08:36 adam + * 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 + * New result set model and modular ranking system. Moved towards + * descent server API. System information stored as "SGML" records. + * + * Revision 1.10 1997/09/29 09:08:36 adam * Revised locking system to be thread safe for the server. * * Revision 1.9 1997/09/25 14:54:43 adam @@ -42,7 +59,7 @@ */ #include #include -#ifdef WINDOWS +#ifdef WIN32 #include #else #include @@ -54,23 +71,22 @@ #include "zserver.h" -int zebra_server_lock_init (ZServerInfo *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 (ZServerInfo *zi) +int zebra_server_lock_destroy (ZebraService zi) { xfree (zi->server_path_prefix); zebra_lock_destroy (zi->server_lock_cmt); @@ -79,7 +95,7 @@ int zebra_server_lock_destroy (ZServerInfo *zi) return 0; } -int zebra_server_lock (ZServerInfo *zi, int commitPhase) +int zebra_server_lock (ZebraService zi, int commitPhase) { if (!zi->server_lock_cmt) { @@ -115,7 +131,7 @@ int zebra_server_lock (ZServerInfo *zi, int commitPhase) return 0; } -void zebra_server_unlock (ZServerInfo *zi, int commitPhase) +void zebra_server_unlock (ZebraService zi, int commitPhase) { if (zi->server_lock_org == NULL) return; @@ -131,7 +147,7 @@ void zebra_server_unlock (ZServerInfo *zi, int commitPhase) } } -int zebra_server_lock_get_state (ZServerInfo *zi, time_t *timep) +int zebra_server_lock_get_state (ZebraService zi, time_t *timep) { char path[1024]; char buf[256]; @@ -143,7 +159,7 @@ int zebra_server_lock_get_state (ZServerInfo *zi, time_t *timep) 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);