Re: walreceiver is uninterruptible on win32 - Mailing list pgsql-hackers

From Fujii Masao
Subject Re: walreceiver is uninterruptible on win32
Date
Msg-id 3f0b79eb1003150214v5427d107u60a60b394000d648@mail.gmail.com
Whole thread Raw
In response to Re: walreceiver is uninterruptible on win32  (Magnus Hagander <magnus@hagander.net>)
Responses Re: walreceiver is uninterruptible on win32
List pgsql-hackers
On Fri, Mar 12, 2010 at 8:13 PM, Magnus Hagander <magnus@hagander.net> wrote:
> On Wed, Mar 10, 2010 at 10:09, Fujii Masao <masao.fujii@gmail.com> wrote:
>> Hi,
>>
>> http://archives.postgresql.org/pgsql-hackers/2010-01/msg01672.php
>> On win32, the blocking libpq functions like PQconnectdb() and
>> PQexec() are uninterruptible since they use the vanilla select()
>> instead of our signal emulation layer compatible select().
>> Nevertheless, currently walreceiver uses them to establish a
>> connection, send a handshake message and wait for the reply.
>> So walreceiver also becomes uninterruptible for a while. This
>> is the must-fix problem for 9.0.
>>
>> I replaced the blocking libpq functions currently used with
>> asynchronous ones, and used the emulated version of select()
>> to wait, to make walreceiver interruptible. Here is the patch.
>
> These are issues that affect other things running libpq in the backend
> as well, right? Such as dblink?

Yes. So Heikki wrote the patch for dblink.
http://archives.postgresql.org/pgsql-hackers/2010-01/msg02072.php

> Perhaps we can factor out most of this
> into functions in backend/port/win32 so that we can re-use it fro
> there?

Sorry. I couldn't get your point. Could you explain it in detail?

Regards,

-- 
Fujii Masao
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center


pgsql-hackers by date:

Previous
From: "Erik Rijkers"
Date:
Subject: Re: Assertion failure twophase.c (3) (testing HS/SR)
Next
From: Fujii Masao
Date:
Subject: Re: Getting to beta1