Skip site navigation (1) Skip section navigation (2)

BUG #1545: LIBPQ Windows Version not calling WSACleanup for every WSAStartup

From: "Jason Erickson" <jerickso(at)indian(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #1545: LIBPQ Windows Version not calling WSACleanup for every WSAStartup
Date: 2005-03-15 05:53:12
Message-ID: 20050315055312.C84B7F16B1@svr2.postgresql.org (view raw or flat)
Thread:
Lists: pgsql-bugs
The following bug has been logged online:

Bug reference:      1545
Logged by:          Jason Erickson
Email address:      jerickso(at)indian(dot)com
PostgreSQL version: 8.0.1,7.4.7
Operating system:   Windows
Description:        LIBPQ Windows Version not calling WSACleanup for every
WSAStartup
Details: 

Taken from microsoft at:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winsock/win
sock/wsastartup_2.asp
-------------------------------------------------------
An application must call one WSACleanup call for every successful WSAStartup
call to allow third-party DLLs to make use of a WS2_32.DLL on behalf of an
application. This means, for example, that if an application calls
WSAStartup three times, it must call WSACleanup three times. The first two
calls to WSACleanup do nothing except decrement an internal counter; the
final WSACleanup call for the task does all necessary resource deallocation
for the task.
------------------------------------------------------------------

The only place WSACleanup is being called is libpqdll when the process
detaches the DLL (if the libpq is not staticly linked in), which matches up
with the WSAStartup when the process attaches to the DLL.

The WSAStartup in the fe-connect.c->makeEmptyPGconn() does not have a
matching WSACleanup.  WSACleanup could possibly be placed in freePGconn(),
but unsure if all possible error cases will go through this function.

This problem exists in both 8.0.1 and 7.4.7 of the libpq interface for
Windows.

Responses

pgsql-bugs by date

Next:From: Oliver SiegmarDate: 2005-03-15 07:50:03
Subject: BUG #1546: Temp table isn't deleted at the end of a transaction / ON COMMIT DROP has no effect
Previous:From: Richard NeillDate: 2005-03-14 23:18:27
Subject: Re: BUG #1540: Enhancement request: 'ambiguous' column reference

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group