pthread-win32.c 869 Bytes
Newer Older
1 2 3
/*-------------------------------------------------------------------------
*
* pthread-win32.c
Bruce Momjian's avatar
Bruce Momjian committed
4
*	 partial pthread implementation for win32
5 6 7
*
* Copyright (c) 2004, PostgreSQL Global Development Group
* IDENTIFICATION
8
*	$PostgreSQL: pgsql/src/interfaces/libpq/pthread-win32.c,v 1.3 2004/09/26 01:40:53 momjian Exp $
9 10 11 12 13
*
*-------------------------------------------------------------------------
*/


14 15
#include <windows.h>
#include <pthread.h>
16

Bruce Momjian's avatar
Bruce Momjian committed
17 18
HANDLE
pthread_self()
19
{
Bruce Momjian's avatar
Bruce Momjian committed
20
	return GetCurrentThread();
21 22
}

Bruce Momjian's avatar
Bruce Momjian committed
23 24
void
pthread_setspecific(pthread_key_t key, void *val)
25 26 27
{
}

Bruce Momjian's avatar
Bruce Momjian committed
28 29
void *
pthread_getspecific(pthread_key_t key)
30
{
Bruce Momjian's avatar
Bruce Momjian committed
31
	return NULL;
32 33
}

Bruce Momjian's avatar
Bruce Momjian committed
34 35
void
pthread_mutex_init(pthread_mutex_t *mp, void *attr)
36
{
Bruce Momjian's avatar
Bruce Momjian committed
37
	*mp = CreateMutex(0, 0, 0);
38 39
}

Bruce Momjian's avatar
Bruce Momjian committed
40 41
void
pthread_mutex_lock(pthread_mutex_t *mp)
42
{
Bruce Momjian's avatar
Bruce Momjian committed
43
	WaitForSingleObject(*mp, INFINITE);
44 45
}

Bruce Momjian's avatar
Bruce Momjian committed
46 47
void
pthread_mutex_unlock(pthread_mutex_t *mp)
48
{
Bruce Momjian's avatar
Bruce Momjian committed
49
	ReleaseMutex(*mp);
50
}