Re: BUG #1545: LIBPQ Windows Version not calling WSACleanup for

Поиск
Список
Период
Сортировка
От Magnus Hagander
Тема Re: BUG #1545: LIBPQ Windows Version not calling WSACleanup for
Дата
Msg-id 6BCB9D8A16AC4241919521715F4D8BCE6C741B@algol.sollentuna.se
обсуждение исходный текст
Ответы Re: BUG #1545: LIBPQ Windows Version not calling WSACleanup for  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: BUG #1545: LIBPQ Windows Version not calling WSACleanup for  (Bruce Momjian <pgman@candle.pha.pa.us>)
Список pgsql-bugs
>>> The only place WSACleanup is being called is libpqdll when=20
>the process
>>> detaches the DLL (if the libpq is not staticly linked in),=20
>which matches up
>>> with the WSAStartup when the process attaches to the DLL.
>>>=20
>>> The WSAStartup in the fe-connect.c->makeEmptyPGconn() does=20
>not have a
>>> matching WSACleanup.  WSACleanup could possibly be placed=20
>in freePGconn(),
>>> but unsure if all possible error cases will go through this=20
>function.
>>>=20
>>> This problem exists in both 8.0.1 and 7.4.7 of the libpq=20
>interface for
>>> Windows.
>
>> I agree freePGconn() is the proper place.  I will apply the following
>> patch to current CVS and to 8.0.X.  8.0.3 is being packaged now so I
>> will wait for 8.0.4.
>
>Actually ... why do we need a WSAStartup in makeEmptyPGconn?=20=20
>If we have
>one in DLL attach, isn't that sufficient?

Not if you link libpq as a static lib...

I *think* that's why it was added. In the beginning it was only in the
DLL attach code, and if you were using the library as a static lib you
had to call it yourself. Not sure when that changed, but clearly that is
when the WSACleanup() call should've gone in.

//Magnus

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: BUG #1545: LIBPQ Windows Version not calling WSACleanup for
Следующее
От: Tom Lane
Дата:
Сообщение: Re: BUG #1545: LIBPQ Windows Version not calling WSACleanup for