Re: Re: [SQL] PostgreSQL crashes on me :( - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Re: [SQL] PostgreSQL crashes on me :(
Date
Msg-id 19085.977154107@sss.pgh.pa.us
Whole thread Raw
In response to Re: Re: [SQL] PostgreSQL crashes on me :(  (ncm@zembu.com (Nathan Myers))
Responses Re: Re: [SQL] PostgreSQL crashes on me :(  (Ian Lance Taylor <ian@airs.com>)
List pgsql-hackers
ncm@zembu.com (Nathan Myers) writes:
> Sounds like a TODO list item: eliminate syscalls from signal handlers.

After looking at it some more, I think that's a lot easier said than
done.  We could try writing the postmaster's SIGCHLD routine in the 
same style currently used for SIGHUP --- ie, signal handler just sets
a flag that's examined by the main loop in ServerLoop --- but I don't
see any way to guarantee timely response if we do that.  If the SIGCHLD
happens just before we reach the select() then the select() will block,
and we won't respond to the dying child until the next connection
request arrives or some other signal happens.  That's OK under normal
scenarios, but highly not OK when a backend has crashed.

Any thoughts on a cleaner solution?

BTW, we do block signals except at the select(), so the fear of random
syscalls being interrupted by random other syscalls is overstated.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Tuple data
Next
From: Stephan Szabo
Date:
Subject: Re: Ocasional problems !!!!