On 2014-08-22 01:36:37 -0400, Noah Misch wrote:
> 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
callsupon EINTR (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().
That might be true - although I'm not sure it actually still works - but
my point is that I can't see Tom's suggestion on relying on
!HAVE_POSIX_SIGNALS for QNX work out.
Greetings,
Andres Freund
-- Andres Freund http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services