Re: [COMMITTERS] pgsql: Remove unsafe calling of WSAStartup and WSA Cleanup from DllMain. - Mailing list pgsql-hackers

From Magnus Hagander
Subject Re: [COMMITTERS] pgsql: Remove unsafe calling of WSAStartup and WSA Cleanup from DllMain.
Date
Msg-id 20070309113308.GD24205@svr2.hagander.net
Whole thread Raw
Responses Re: [COMMITTERS] pgsql: Remove unsafe calling of WSAStartup and WSA Cleanup from DllMain.  (Dave Page <dpage@postgresql.org>)
List pgsql-hackers
On Fri, Mar 09, 2007 at 08:16:12AM +0000, Dave Page wrote:
> Magnus Hagander wrote:
> >>For example, do you recall us being confused
> >>when we found we needed to call it in slon.exe?
> >
> >Eh, no, actually not. Sorry.
> 
> Well, it was only a couple of years ago!! Seriously though, from what I 
> recall that was the origin of this code - you left it out because libpq 
> called WSAStartup on your system, and I added it because on mine it 
> didn't. Or something like that. I remember us getting confused about it 
> on IM anyway.

Hmm. Was that actually fort he libpq stuff, though? I don't recall it
clearly, but somethign tells me the problem was around the pipe
emulation and not around libpq.

In which case it can simply be because I was building against a libpq
built with MSVC = it had the broken startup code, and you used a mingw
one, which didn't have it.

Per the docs, an application like slon *should* make it's own call to
WSAStartup() because it uses socket functions diretly (port/pipe.c)...


Another question related to backpatching - should I backpatch this to
8.1 and 8.0 as well? I know we said we more or less don't maintain the
win32 port back there because it was too new, but this is all code in
the client libpq, which has been around no win32 much longer. The reason
I'm asking is that the original reporter of this problem is on 8.1...

I'm leaning towards yes, but would like to hear further comments...

//Magnus


pgsql-hackers by date:

Previous
From: Heikki Linnakangas
Date:
Subject: CLUSTER and MVCC
Next
From: NikhilS
Date:
Subject: Re: Auto creation of Partitions