libpq WSACleanup is not needed - Mailing list pgsql-hackers

From Andrew Chernow
Subject libpq WSACleanup is not needed
Date
Msg-id 496FB5FA.5070404@esilo.com
Whole thread Raw
List pgsql-hackers
WSACleanup is not really needed during a PQfinish.  Its horribly slow if  the library ref count is 0 and it actually
unloadsthe winsock 
 
library, adds 225ms to PQfinish.

Solution:
A) Call WSAStartup once and never clean it up.  When the app dies, so do 
the ref counts and winsock is automatically unloaded.

B) Have a way of specifying the behavior, the way it is now or tell 
libpq to not initialize wsa at all (kinda like ssl init callbacks). 
Leave it up to the application.

I think the WSA startup/cleanup stuff is silly.  If I dynamically link 
with a DLL, I want it automatically loaded and cleaned up.

Worst case, your app makes lots of connections to different backends. 
So, it is constantly doing PQconnectdb and PQfinish; only has a single 
conn open at a time.  This means its constantly loading and unloading 
winsock.

Andrew


pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: FWD: Re: Updated backslash consistency patch
Next
From: "Joshua D. Drake"
Date:
Subject: Re: FWD: Re: Updated backslash consistency patch