Clean up Windows-specific mutex code in libpq and ecpglib.
[pgsql.git] / src / port / pthread-win32.h
blob5f33269057c5af3c688f5b96672e697b599ab45b
1 /*
2 * src/port/pthread-win32.h
3 */
4 #ifndef __PTHREAD_H
5 #define __PTHREAD_H
7 typedef ULONG pthread_key_t;
9 typedef struct pthread_mutex_t
11 /* initstate = 0: not initialized; 1: init done; 2: init in progress */
12 LONG initstate;
13 CRITICAL_SECTION csection;
14 } pthread_mutex_t;
16 #define PTHREAD_MUTEX_INITIALIZER { 0 }
18 typedef int pthread_once_t;
20 DWORD pthread_self(void);
22 void pthread_setspecific(pthread_key_t, void *);
23 void *pthread_getspecific(pthread_key_t);
25 int pthread_mutex_init(pthread_mutex_t *, void *attr);
26 int pthread_mutex_lock(pthread_mutex_t *);
28 /* blocking */
29 int pthread_mutex_unlock(pthread_mutex_t *);
31 #endif