Re: Overhauling our interrupt handling (was Escaping from blocked send() reprised.) - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Re: Overhauling our interrupt handling (was Escaping from blocked send() reprised.)
Date
Msg-id 54CBC680.1030003@vmware.com
Whole thread Raw
In response to Overhauling our interrupt handling (was Escaping from blocked send() reprised.)  (Andres Freund <andres@2ndquadrant.com>)
Responses Re: Re: Overhauling our interrupt handling (was Escaping from blocked send() reprised.)
List pgsql-hackers
On 01/15/2015 03:03 AM, Andres Freund wrote:
> 0004: Process 'die' interrupts while reading/writing from the client socket.
>
>        This is the reason Horiguchi-san started this thread.

> +        ProcessClientWriteInterrupt(!port->noblock);
...
> +/*
> + * ProcessClientWriteInterrupt() - Process interrupts specific to client writes
> + *
> + * This is called just after low-level writes. That might be after the read
> + * finished successfully, or it was interrupted via interrupt. 'blocked' tells
> + * us whether the
> + *
> + * Must preserve errno!
> + */
> +void
> +ProcessClientWriteInterrupt(bool blocked)

You're passing port->noblock as argument, but I thought the argument is 
supposed to mean whether the write would've blocked, i.e. if the write 
buffer was full. port->noblock doesn't mean that. But perhaps I 
misunderstood this - the comment on the 'blocked' argument above is a 
bit incomplete ;-).

- Heikki




pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: Safe memory allocation functions
Next
From: jeff.janes@gmail.com
Date:
Subject: ...