34 #ifndef __HPGS_MUTEX_H__
35 #define __HPGS_MUTEX_H__
43 typedef CRITICAL_SECTION hpgs_mutex_t;
46 typedef pthread_mutex_t hpgs_mutex_t;
49 static void hpgs_mutex_init(hpgs_mutex_t *m);
50 static void hpgs_mutex_destroy(hpgs_mutex_t *m);
51 static void hpgs_mutex_lock(hpgs_mutex_t *m);
52 static void hpgs_mutex_unlock(hpgs_mutex_t *m);
56 __inline__
void hpgs_mutex_init(hpgs_mutex_t *m)
57 { InitializeCriticalSection(m); }
59 __inline__
void hpgs_mutex_destroy(hpgs_mutex_t *m)
60 { DeleteCriticalSection(m); }
62 __inline__
void hpgs_mutex_lock(hpgs_mutex_t *m)
63 { EnterCriticalSection(m); }
65 __inline__
void hpgs_mutex_unlock(hpgs_mutex_t *m)
66 { LeaveCriticalSection(m); }
70 __inline__
void hpgs_mutex_init(hpgs_mutex_t *m)
71 { pthread_mutex_init(m,0); }
73 __inline__
void hpgs_mutex_destroy(hpgs_mutex_t *m)
74 { pthread_mutex_destroy(m); }
76 __inline__
void hpgs_mutex_lock(hpgs_mutex_t *m)
77 { pthread_mutex_lock(m); }
79 __inline__
void hpgs_mutex_unlock(hpgs_mutex_t *m)
80 { pthread_mutex_unlock(m); }