From: Hiroshi Inoue <Inoue@tpf.co.jp>
To: Magnus Hagander <mha@sollentuna.net>
To: 'Tom Lane' <tgl@sss.pgh.pa.us>
Cc: pgsql-interfaces@postgreSQL.org
Subject: RE: [INTERFACES] Win32 interface
Date: Tue, 7 Sep 1999 17:15:05 +0900
Message-ID: <000701bef909$17763fc0$2801007e@cadzone.tpf.co.jp> (raw)
In-Reply-To: <215896B6B5E1CF11BC5600805FFEA82101F71092@sirius.edu.sollentuna.se>
>
> > >> 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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-interfaces@postgresql.org
Cc: Inoue@tpf.co.jp, mha@sollentuna.net, tgl@sss.pgh.pa.us
Subject: RE: [INTERFACES] Win32 interface
In-Reply-To: <000701bef909$17763fc0$2801007e@cadzone.tpf.co.jp>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox