RE: [INTERFACES] Win32 interface - Mailing list pgsql-interfaces

From Hiroshi Inoue
Subject RE: [INTERFACES] Win32 interface
Date
Msg-id 000701bef909$17763fc0$2801007e@cadzone.tpf.co.jp
Whole thread Raw
In response to RE: [INTERFACES] Win32 interface  (Magnus Hagander <mha@sollentuna.net>)
List pgsql-interfaces
> 
> > >> 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).
> > 
> > That would be an easy change.  Are these functions fast enough that
> > calling them for every connect/disconnect cycle would be tolerable?
> 
> I beleive so. But we could probably get away from that using static
> variables, no? Somewhere just put:
> 
> static int has_wsastartup = 0;
> 
> ...
> 
> if (!has_wsastartup) {
>    has_wsastartup = 1;
>    WSAStartup()...
> }
> 
> 
> That way, it would only be run once, right? 
> Naturally, everything within #ifdef WIN32.
>

I don't object to your solution.

WSACleanup() is never called.
But no one would care about such a thing.

Regards.

Hiroshi Inoue
Inoue@tpf.co.jp  



pgsql-interfaces by date:

Previous
From: "Andrew O'Callaghan"
Date:
Subject: insert interface
Next
From: Jelle Ruttenberg
Date:
Subject: Problem connecting NT-psqlODBC to Linux-PostgreSQL