From: | Rainer Tammer <pgsql(at)spg(dot)schulergroup(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-bugs(at)postgresql(dot)org, cbbrowne(at)gmail(dot)com |
Subject: | Re: Problem with PostgreSQL 9.2.7 and make check on AIX 7.1 |
Date: | 2014-02-26 15:21:12 |
Message-ID: | 530E0668.3020403@spg.schulergroup.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
Hello,
Here is the code change:
CheckStatementTimeout()
....
if (now >= statement_fin_time)
{
/* Time to die */
statement_timeout_active = false;
cancel_from_timeout = true;
elog(LOG, "kill PID: %d", MyProcPid);
#ifdef HAVE_SETSID_off
/* try to signal whole process group */
kill(-MyProcPid, SIGINT);
#endif
kill(MyProcPid, SIGINT);
}
....
And here is the result:
--- server.log ----
STATEMENT: FETCH 1 FROM foo;
ERROR: relation "pxtest2" does not exist at character 15
STATEMENT: SELECT * FROM pxtest2;
LOG: kill PID: 12255410 at character 15
--- ps -ef ----
tammer 12255410 16318698 0 16:14:01 - 0:00 postgres: tammer
regression [local] SELECT waiting
So the PID in CheckStatementTimeout() does match the actual backend process.
There is no difference if I use kill() with "-" or without "-".
Bye
Rainer
On 26.02.2014 15:39, Tom Lane wrote:
> Rainer Tammer <pgsql(at)spg(dot)schulergroup(dot)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
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Rainer Tammer | 2014-02-26 15:56:20 | Re: Problem with PostgreSQL 9.2.7 and make check on AIX 7.1 |
Previous Message | Tom Lane | 2014-02-26 15:20:11 | Re: Problem with PostgreSQL 9.2.7 and make check on AIX 7.1 |