postgresql/src
Robert Haas d1981719ad Clear MyProc and MyProcSignalState before they become invalid.
Evidence from buildfarm member crake suggests that the new test_shm_mq
module is routinely crashing the server due to the arrival of a SIGUSR1
after the shared memory segment has been unmapped.  Although processes
using the new dynamic background worker facilities are more likely to
receive a SIGUSR1 around this time, the problem is also possible on older
branches, so I'm back-patching the parts of this change that apply to
older branches as far as they apply.

It's already generally the case that code checks whether these pointers
are NULL before deferencing them, so the important thing is mostly to
make sure that they do get set to NULL before they become invalid.  But
in master, there's one case in procsignal_sigusr1_handler that lacks a
NULL guard, so add that.

Patch by me; review by Tom Lane.
2014-01-31 21:31:08 -05:00
..
backend Clear MyProc and MyProcSignalState before they become invalid. 2014-01-31 21:31:08 -05:00
bin Add tab completion for ALTER TABLESPACE MOVE in psql. 2014-02-01 01:45:48 +09:00
common Fix unsafe references to errno within error messaging logic. 2014-01-29 20:04:43 -05:00
include system catalogs: reorder pg_amproc entries into proper sections 2014-01-31 16:04:18 -05:00
interfaces Disallow use of SSL v3 protocol in the server as well as in libpq. 2014-01-31 17:51:18 -05:00
makefiles Remove leftovers of IRIX port 2013-11-12 06:39:36 -05:00
pl Make DROP IF EXISTS more consistently not fail 2014-01-23 14:40:29 -03:00
port Allow use of "z" flag in our printf calls, and use it where appropriate. 2014-01-23 17:18:33 -05:00
template Remove leftovers of IRIX port 2013-11-12 06:39:36 -05:00
test Add convenience functions pg_sleep_for and pg_sleep_until. 2014-01-30 15:47:56 -05:00
timezone Update copyright for 2014 2014-01-07 16:05:30 -05:00
tools pgindent: add Perl comment 2014-01-31 14:46:00 -05:00
tutorial Update copyright for 2014 2014-01-07 16:05:30 -05:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
bcc32.mak Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
DEVELOPERS Replace a couple of references to files that no longer exist in the source 2009-05-04 08:08:47 +00:00
Makefile Create libpgcommon, and move pg_malloc et al to it 2013-02-12 11:21:05 -03:00
Makefile.global.in build: pass EXTRA_REGRESS_OPTS to secondary regression tests 2013-12-04 10:14:45 -05:00
Makefile.shlib Remove IRIX port. 2013-10-18 08:14:21 -04:00
nls-global.mk Remove maintainer-check target, fold into normal build 2013-10-10 20:11:56 -04:00
win32.mak Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00