Rainer Tammer <pgsql@spg.schulergroup.com> writes:
> void
> StatementCancelHandler(SIGNAL_ARGS)
> {
> int save_errno = errno;
> elog(WARNING, "StatementCancelHandler() - entered");
> This part is never reached. Does this mean that the signal SIGINT got lost?
Yeah, looks that way. You might try changing the WARNING to FATAL, as
in your previous example, just to be totally sure that it's not a problem
of the message not getting flushed out or something like that. But what
it seems at the moment is that the signal isn't getting delivered.
It'd be an idea to add some more logging to CheckStatementTimeout to
verify that (1) MyProcPid corresponds to the process's PID and
(2) the kill() isn't returning an error indication. You could also
try making it use the non-HAVE_SETSID logic, ie don't use the "-",
just to see if that changes anything.
regards, tom lane