mirror of
https://github.com/simtactics/niotso.git
synced 2025-03-21 10:41:21 +00:00
61 lines
1,015 B
C
61 lines
1,015 B
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* pthread-win32.c
|
|
* partial pthread implementation for win32
|
|
*
|
|
* Copyright (c) 2004-2011, PostgreSQL Global Development Group
|
|
* IDENTIFICATION
|
|
* src/interfaces/libpq/pthread-win32.c
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
|
|
#include "postgres_fe.h"
|
|
|
|
#include <windows.h>
|
|
#include "pthread-win32.h"
|
|
|
|
DWORD
|
|
pthread_self(void)
|
|
{
|
|
return GetCurrentThreadId();
|
|
}
|
|
|
|
void
|
|
pthread_setspecific(pthread_key_t key, void *val)
|
|
{
|
|
}
|
|
|
|
void *
|
|
pthread_getspecific(pthread_key_t key)
|
|
{
|
|
return NULL;
|
|
}
|
|
|
|
int
|
|
pthread_mutex_init(pthread_mutex_t *mp, void *attr)
|
|
{
|
|
*mp = (CRITICAL_SECTION *) malloc(sizeof(CRITICAL_SECTION));
|
|
if (!*mp)
|
|
return 1;
|
|
InitializeCriticalSection(*mp);
|
|
return 0;
|
|
}
|
|
|
|
int
|
|
pthread_mutex_lock(pthread_mutex_t *mp)
|
|
{
|
|
if (!*mp)
|
|
return 1;
|
|
EnterCriticalSection(*mp);
|
|
return 0;
|
|
}
|
|
|
|
int
|
|
pthread_mutex_unlock(pthread_mutex_t *mp)
|
|
{
|
|
if (!*mp)
|
|
return 1;
|
|
LeaveCriticalSection(*mp);
|
|
return 0;
|
|
}
|