Re: WSAStartup() in libpq - Mailing list pgsql-hackers

From Magnus Hagander
Subject Re: WSAStartup() in libpq
Date
Msg-id 20070308122134.GD7216@svr2.hagander.net
Whole thread Raw
In response to Re: WSAStartup() in libpq  (Andreas Pflug <pgadmin@pse-consulting.de>)
Responses Re: WSAStartup() in libpq  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Thu, Mar 08, 2007 at 12:47:42PM +0100, Andreas Pflug wrote:
> Magnus Hagander wrote:
> >
> > The easy fix for this is to remove the calls. Which obviously will break
> > some client apps. A fairly easy fix for the WSAStartup() call is to have
> > a check in the connection functions against a global variable that will
> > then make sure to call WSAStartup() the first time it's called.
> >
> > That would leave us "leaking" the WSAStartup() call, but only one per
> > application. This is not perfect, but I'm thinking we can maybe live
> > with that.
> >
> > If not, perhaps we can have it call WSAStartup() everytime we connect to
> > a server, and then WSACleanup() when we shut down that connection with
> > PQfinish().
>
> Taken from MSDN docs, this seems the recommended solution. After the
> first WSAStartup call subsequent calls are cheap because they only
> increment a counter.

Now that I look closer at it, we *already* do WSAStartup() in
makeEmptyPGconn... And free it in  freePGconn().

So I suggest the following simple patch.. Any objections?

//Magnus

Attachment

pgsql-hackers by date:

Previous
From: Andreas Pflug
Date:
Subject: Re: WSAStartup() in libpq
Next
From: "Pavan Deolasee"
Date:
Subject: Re: Bug in VACUUM FULL ?