Zdenek Kotala wrote:
> I performed some investigation and I found that signal handler
> (SIGHUP_handler) contents a big code and contents signal nonsafe
> functions. It should generate deadlock or damage some internal data
> structure in the standard c library. See
> http://www.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_04.html
> for detail. By my opinion is necessary to rewrite signal handling in
> postmaster to avoid postgres malfunction.
Perhaps you missed these lines:
/* * Block all signals until we wait again. (This makes it safe for our * signal handlers to do
nontrivialwork.) */ PG_SETMASK(&BlockSig);
postmaster.c 1227ff
--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support