X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Flockutil.c;h=1e0eb9223c93987896f106297adcf88b5eb5bdb3;hb=b9093505b17a074e79137ed64595c8269f77d330;hp=d626d7010a43af5461c1665739db7e263e88e512;hpb=7e3b091d6944a2ef10f1c6e983181be53b565e34;p=idzebra-moved-to-github.git diff --git a/index/lockutil.c b/index/lockutil.c index d626d70..1e0eb92 100644 --- a/index/lockutil.c +++ b/index/lockutil.c @@ -4,7 +4,23 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: lockutil.c,v $ - * Revision 1.3 1995-12-12 16:00:57 adam + * Revision 1.8 1997-09-17 12:19:15 adam + * Zebra version corresponds to YAZ version 1.4. + * Changed Zebra server so that it doesn't depend on global common_resource. + * + * Revision 1.7 1997/09/09 13:38:08 adam + * Partial port to WIN95/NT. + * + * Revision 1.6 1996/10/29 14:08:14 adam + * Uses resource lockDir instead of lockPath. + * + * Revision 1.5 1996/03/26 16:01:13 adam + * New setting lockPath: directory of various lock files. + * + * Revision 1.4 1995/12/13 08:46:10 adam + * Locking uses F_WRLCK and F_RDLCK again! + * + * Revision 1.3 1995/12/12 16:00:57 adam * System call sync(2) used after update/commit. * Locking (based on fcntl) uses F_EXLCK and F_SHLCK instead of F_WRLCK * and F_RDLCK. @@ -24,17 +40,20 @@ #include #include #include +#ifdef WINDOWS +#include +#else #include +#endif -#include #include "index.h" static char *lockDir = NULL; -void zebraLockPrefix (char *pathPrefix) +void zebraLockPrefix (Res res, char *pathPrefix) { if (!lockDir) - lockDir = res_get_def (common_resource, "lockDir", ""); + lockDir = res_get_def (res, "lockDir", ""); assert (lockDir); strcpy (pathPrefix, lockDir); @@ -53,7 +72,7 @@ static int intLock (int fd, int type, int cmd) int zebraLock (int fd, int wr) { -#if 1 +#if 0 return intLock (fd, wr ? F_EXLCK : F_SHLCK, F_SETLKW); #else return intLock (fd, wr ? F_WRLCK : F_RDLCK, F_SETLKW); @@ -62,10 +81,10 @@ int zebraLock (int fd, int wr) int zebraLockNB (int fd, int wr) { -#if 1 - return intLock (fd, wr ? F_EXLCK : F_SHLCK, F_SETLKW); +#if 0 + return intLock (fd, wr ? F_EXLCK : F_SHLCK, F_SETLK); #else - return intLock (fd, wr ? F_WRLCK : F_RDLCK, F_SETLKW); + return intLock (fd, wr ? F_WRLCK : F_RDLCK, F_SETLK); #endif }