Re: Parallel worker hangs while handling errors.
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>,
PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2020-08-07T16:56:01Z
Lists: pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes: > On Fri, Aug 7, 2020 at 11:36 AM Tom Lane <tgl@sss.pgh.pa.us> wrote: >> The sigdelset call, just like the adjacent pqsignal calls, is >> preparatory setup; it does not intend to allow anything to happen >> immediately. > I don't think that your analysis here is correct. The sigdelset call > is manipulating BlockSig, and the subsequent PG_SETMASK call is > working with UnblockSig, so it doesn't make sense to view one as a > preparatory step for the other. That SETMASK call will certainly unblock SIGQUIT, so I don't see what your point is. Anyway, the bottom line is that that code's been like that for a decade or two without complaints, so I'm disinclined to mess with it on the strength of nothing much. regards, tom lane
Commits
-
Centralize setup of SIGQUIT handling for postmaster child processes.
- 44fc6e259b79 14.0 landed
-
Accept SIGQUIT during error recovery in auxiliary processes.
- 7634bd4f6d38 14.0 landed
-
Avoid lockup of a parallel worker when reporting a long error message.
- be4b0c0077e6 14.0 landed
- 82dd373f2c56 12.5 landed
- 526df0a236df 11.10 landed
- 3738651f5b82 9.5.24 landed
- 2a938c7935cf 10.15 landed
- 2500e51e7bdc 9.6.20 landed
- 17424e79d979 13.0 landed