/* Copyright (C) 2009 Red Hat, Inc. This program 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 of the License, or (at your option) any later version. This program 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 this program. If not, see . */ #ifndef _H_MUTEX #define _H_MUTEX #ifdef _WIN32 #include typedef CRITICAL_SECTION mutex_t; #define MUTEX_INIT(mutex) InitializeCriticalSection(&mutex) #define MUTEX_LOCK(mutex) EnterCriticalSection(&mutex) #define MUTEX_UNLOCK(mutex) LeaveCriticalSection(&mutex) #else #include typedef pthread_mutex_t mutex_t; #define MUTEX_INIT(mutex) pthread_mutex_init(&mutex, NULL); #define MUTEX_LOCK(mutex) pthread_mutex_lock(&mutex) #define MUTEX_UNLOCK(mutex) pthread_mutex_unlock(&mutex) #endif #endif // _H_MUTEX