RE: [INTERFACES] Win32 interface

Поиск
Список
Период
Сортировка
От Hiroshi Inoue
Тема RE: [INTERFACES] Win32 interface
Дата
Msg-id 000201bef821$7a95cf00$2801007e@cadzone.tpf.co.jp
обсуждение исходный текст
Ответ на Re: [INTERFACES] Win32 interface  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: [INTERFACES] Win32 interface  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-interfaces
> -----Original Message-----
> From: owner-pgsql-interfaces@postgreSQL.org
> [mailto:owner-pgsql-interfaces@postgreSQL.org]On Behalf Of Tom Lane
> Sent: Sunday, September 05, 1999 12:21 AM
> To: Magnus Hagander
> Cc: 'David Giffin'; Ken J. Wright; pgsql-interfaces@postgreSQL.org
> Subject: Re: [INTERFACES] Win32 interface 
> 
> 
> Magnus Hagander <mha@sollentuna.net> writes:
> > The problem is that in the DllMain() of the libpq.dll file, 
> WSAStartup() is
> > called, and that is required before any winsock functions will work.
> > If you link statically, you have to manually run WSAStartup.
> >
> > This should probably be documented :-)
> 
> Didn't we talk about having fe-connect.c call WSAStartup()
> (conditionally compiled of course) to avoid this problem?
>

Sorry,I forgot to take static link cases into account when I proposed
to call WSAStartup() in DllMain().
> ISTM there was some reason it wouldn't work, like maybe you can
> only call WSAStartup once per program, but I don't recall for sure.

We can call WSAStartup() more than once. However,there must be a
call to WSACleanup() for every successful call to WSAStartup()
made by a task. Only the final WSACleanup() for that task does the
actual cleanup.
.
The simplest way may be to call WSAStartup() while connecting and 
to call WSACleanup() while finishing(including error cases).

Regards.

Hiroshi Inoue
Inoue@tpf.co.jp


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

Предыдущее
От: Bradley Schatz
Дата:
Сообщение: Debugging of ODBC Dlls on win32 - how ?
Следующее
От: Christoph Steinbeck
Дата:
Сообщение: JDBC: What is 'String type' in Serialize()-constructor?