Re: walreceiver is uninterruptible on win32
Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
From: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
To: Fujii Masao <masao.fujii@gmail.com>
Cc: Magnus Hagander <magnus@hagander.net>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2010-03-15T15:32:58Z
Lists: pgsql-hackers
Fujii Masao wrote: > On Mon, Mar 15, 2010 at 6:42 PM, Magnus Hagander <magnus@hagander.net> wrote: >> I think we need to look at this as a single problem needing to be >> solved, and then have the same solution applied to dblink and >> walreceiver. Agreed. > Something like libpq_select() which waits for the socket to become > ready would be required for walreceiver and dblink. But it's necessary > for walreceiver on not only win32 but also the other, ... Really, why? I thought this is a purely Windows specific problem. Just replacing PQexec() with PQsendQuery() is pretty straightforward, we could put that replacement in a file in port/win32. Replacing PQconnectdb() is more complicated because you need to handle connection timeout. I suggest that we only add the replacement for PQexec(), and live with the situation for PQconnectdb(), that covers 99% of the scenarios anyway. -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com