Re: VC2005 build and pthreads - Mailing list pgsql-hackers

From Joachim Wieland
Subject Re: VC2005 build and pthreads
Date
Msg-id 20070128125543.GA8356@mcknight.de
Whole thread Raw
In response to Re: VC2005 build and pthreads  (Magnus Hagander <magnus@hagander.net>)
Responses Re: VC2005 build and pthreads  (Magnus Hagander <magnus@hagander.net>)
List pgsql-hackers
On Fri, Jan 26, 2007 at 10:10:20PM +0100, Magnus Hagander wrote:
> >> I would like to build pg on VC2005. How do I use pthreads that is
> >> mentioned in the README file. Do I need the DLL? Sources? LIB?
> >> Where do I install or copy them..

> > Err, pthreads is a threads library for Unix, I don't think Windows has
> > that, nor can I think of a situation where you'd need to worry about
> > threads anyway?

> There is a pthreads for win32 as well.
> However, you don't need it to build, unless you build ecpg. I forgot to
> update the README when I put that patch in .-)

Actually you can build ecpg without pthreads as well, but you lose
thread-safety. The problem is that ecpg and libpq do different things on
Windows if you define ENABLE_THREAD_SAFETY.

ENABLE_THREAD_SAFETY is set to 1 in pg_config.h.win32, with it being
defined, ecpg needs the pthreads libraries, while libpq uses the stub
functions from pthread-win32.c. Libpq can do that because it doesn't use
pthread_(get|set)specific. If we implemented those functions by means of the
native Windows API as well, they could also be used by ecpg and we would not
need the pthread libs on Windows anymore.

Magnus, can we? ;-)


Joachim




pgsql-hackers by date:

Previous
From: Lukas Kahwe Smith
Date:
Subject: Re: How to gain R/W access to developers wiki?
Next
From: Magnus Hagander
Date:
Subject: Re: VC2005 build and pthreads