Thread: BUG #3304: win32 build fails, because of wrong include

BUG #3304: win32 build fails, because of wrong include

From
""
Date:
The following bug has been logged online:

Bug reference:      3304
Logged by:
Email address:      oliverst@online.de
PostgreSQL version: 8.1.9
Operating system:   Windows 2000
Description:        win32 build fails, because of wrong include
Details:

When you set the ENABLE_THREAD_SAFETY define on windows and you try to build
it, you will get an error in thread.c, because it tries to include the
pthread.h, which doesn't exist on Windows. It lacks an #ifdef, that will
include the pthread-win32.h, in case WIN32 is defined.

Re: BUG #3304: win32 build fails, because of wrong include

From
Magnus Hagander
Date:
oliverst@online.de wrote:
> The following bug has been logged online:
>
> Bug reference:      3304
> Logged by:
> Email address:      oliverst@online.de
> PostgreSQL version: 8.1.9
> Operating system:   Windows 2000
> Description:        win32 build fails, because of wrong include
> Details:
>
> When you set the ENABLE_THREAD_SAFETY define on windows and you try to build
> it, you will get an error in thread.c, because it tries to include the
> pthread.h, which doesn't exist on Windows. It lacks an #ifdef, that will
> include the pthread-win32.h, in case WIN32 is defined.

For 8.1, you need pthreads. There is a package available that provides
the pthread emulation layer. You can get it from
http://sourceware.org/pthreads-win32/

8.3 will remove this requirement and all parts will work with the native
threads.

//Magnus