X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fzebra-lock.h;h=dd6133c98029cdf77421dfe6a52b4d57d9c5852a;hb=7c3a0352f0492609a3b6b26b63a72b0b2d207aab;hp=1f4fba699cf47906dc480ee6a225ddbfbbd543e4;hpb=69da23537c6bb71ab948e079708bf8ea090de73f;p=idzebra-moved-to-github.git diff --git a/include/zebra-lock.h b/include/zebra-lock.h index 1f4fba6..dd6133c 100644 --- a/include/zebra-lock.h +++ b/include/zebra-lock.h @@ -1,8 +1,34 @@ +/* $Id: zebra-lock.h,v 1.7 2002-08-02 19:26:55 adam Exp $ + Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002 + Index Data Aps + +This file is part of the Zebra server. + +Zebra is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. + +Zebra is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with Zebra; see the file LICENSE.zebra. If not, write to the +Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA +02111-1307, USA. +*/ + + #ifndef ZEBRA_LOCK_H #define ZEBRA_LOCK_H -#if HAVE_PTHREAD_H +#ifdef WIN32 +#include +#endif +#if YAZ_POSIX_THREADS #include #endif @@ -11,11 +37,16 @@ YAZ_BEGIN_CDECL typedef struct { -#if HAVE_PTHREAD_H - pthread_mutex_t mutex; +#ifdef WIN32 + CRITICAL_SECTION mutex; #else +# if YAZ_POSIX_THREADS + pthread_mutex_t mutex; +# else int dummy; +# endif #endif + int state; } Zebra_mutex; YAZ_EXPORT int zebra_mutex_init (Zebra_mutex *p); @@ -26,7 +57,7 @@ YAZ_EXPORT int zebra_mutex_unlock (Zebra_mutex *p); typedef struct { int readers_reading; int writers_writing; -#if HAVE_PTHREAD_H +#if YAZ_POSIX_THREADS pthread_mutex_t mutex; pthread_cond_t lock_free; #endif @@ -40,7 +71,7 @@ YAZ_EXPORT int zebra_lock_rdwr_runlock (Zebra_lock_rdwr *p); YAZ_EXPORT int zebra_lock_rdwr_wunlock (Zebra_lock_rdwr *p); typedef struct { -#if HAVE_PTHREAD_H +#if YAZ_POSIX_THREADS pthread_mutex_t mutex; pthread_cond_t cond; #else