On Thu, Aug 21, 2014 at 01:33:38AM +0200, Andres Freund wrote:
> On 2014-07-25 18:29:53 -0400, Tom Lane wrote:
> > > * QNX lacks sigaction SA_RESTART: I modified "src/include/port.h" to define macros to retry system calls
uponEINTR (open,read,write,...) when compiled on QNX
> >
> > That's pretty scary too. For one thing, such macros would affect every
> > call site whether it's running with SA_RESTART or not. Do you really
> > need it? It looks to me like we just turn off HAVE_POSIX_SIGNALS if
> > you don't have SA_RESTART. Maybe that code has bit-rotted by now, but
> > it did work at one time.
>
> I have pretty much no trust that we're maintaining
> !HAVE_POSIX_SIGNAL. And none that we have that capability of doing so. I
> seriously doubt there's any !HAVE_POSIX_SIGNAL animals and
> 873ab97219caabeb2f7b390268a4fe01e2b7518c makes it pretty darn unlikely
> that we have much chance of finding such mistakes during development.
I bet it's fine for its intended target, namely BSD-style signal() in which
SA_RESTART-like behavior is implicit. See the src/port/pqsignal.c header
comment. PostgreSQL has no support for V7-style/QNX-style signal().