inital commit
[c11concurrency-benchmarks.git] / mabain / src / util / shm_mutex.h
1 /**
2  * Copyright (C) 2018 Cisco Inc.
3  *
4  * This program is free software: you can redistribute it and/or  modify
5  * it under the terms of the GNU General Public License, version 2,
6  * as published by the Free Software Foundation.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
15  */
16
17 // @author Changxue Deng <chadeng@cisco.com>
18
19 #ifndef __SHM_MUTEX_H__
20 #define __SHM_MUTEX_H__
21
22 #include <pthread.h>
23
24 namespace mabain {
25
26 int  InitShmMutex(pthread_mutex_t *mutex);
27 int  InitShmRWLock(pthread_rwlock_t *lock);
28 int  InitShmCond(pthread_cond_t *cond);
29
30 #ifdef __APPLE__
31 int pthread_mutex_timedlock(pthread_mutex_t *mutex, const struct timespec *abs_timeout);
32 #endif
33
34 }
35
36 #endif