Re: walreceiver is uninterruptible on win32

From: Magnus Hagander <magnus(at)hagander(dot)net>
To: Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: walreceiver is uninterruptible on win32
Date: 2010-03-12 11:13:43
Message-ID: 9837222c1003120313l2a1ec911vaf229a4f7890f010@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Mar 10, 2010 at 10:09, Fujii Masao <masao(dot)fujii(at)gmail(dot)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? Perhaps we can factor out most of this
into functions in backend/port/win32 so that we can re-use it fro
there?

--
Magnus Hagander
Me: http://www.hagander.net/
Work: http://www.redpill-linpro.com/

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Merlin Moncure 2010-03-12 12:32:27 Re: Dyamic updates of NEW with pl/pgsql
Previous Message Magnus Hagander 2010-03-12 10:52:11 Re: [patch] build issues on Win32