1
0
mirror of https://github.com/postgres/postgres.git synced 2025-11-19 13:42:17 +03:00
Files
postgres/src/interfaces/libpq/pthread-win32.c
Tom Lane 9e3755ecb2 Remove useless duplicate inclusions of system header files.
c.h #includes a number of core libc header files, such as <stdio.h>.
There's no point in re-including these after having read postgres.h,
postgres_fe.h, or c.h; so remove code that did so.

While at it, also fix some places that were ignoring our standard pattern
of "include postgres[_fe].h, then system header files, then other Postgres
header files".  While there's not any great magic in doing it that way
rather than system headers last, it's silly to have just a few files
deviating from the general pattern.  (But I didn't attempt to enforce this
globally, only in files I was touching anyway.)

I'd be the first to say that this is mostly compulsive neatnik-ism,
but over time it might save enough compile cycles to be useful.
2017-02-25 16:12:55 -05:00

61 lines
994 B
C

/*-------------------------------------------------------------------------
*
* pthread-win32.c
* partial pthread implementation for win32
*
* Copyright (c) 2004-2017, PostgreSQL Global Development Group
* IDENTIFICATION
* src/interfaces/libpq/pthread-win32.c
*
*-------------------------------------------------------------------------
*/
#include "postgres_fe.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;
}