Re: pgsql: Add support for TCP keepalives on Windows, both for backend and
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Magnus Hagander <magnus@hagander.net>
Cc: pgsql-committers <pgsql-committers@postgresql.org>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2010-07-08T15:39:14Z
Lists: pgsql-hackers
Magnus Hagander <magnus@hagander.net> writes: > Seems pretty simple - mingw doesn't have support for this. We have two > ways to deal with that I think: > 1) Disable it on mingw. > 2) Include it in our custom headers. > For #2, what we need to include is the define of SIO_KEEPALIVE_VALS as > well as the definition of struct tcp_keepalive. > We've done #2 before at least once, which worked well until mingw > suddenly caught up and added it a while later. It's not like this is a > new definition in windows, but we need to be ready for them to > eventually do that. Yeah. I'm satisfied with doing #1 and waiting for them to fix it. > I guess there is: > 3) write an autoconf test and provide them only when mingw doesn't have it. > if we're going with #3, I'll respectfully have to ask somebod yelse to > write the autoconf test, that's beyond me I think :-) An easy approximation would be to make the code #ifdef SIO_KEEPALIVE_VALS. That would fail if the mingw guys decide to provide the #define without adding the struct at the same time, but that seems moderately unlikely. regards, tom lane