aboutsummaryrefslogtreecommitdiff
path: root/src/tutorial/basics.source
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2017-04-24 12:16:58 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2017-04-24 12:16:58 -0400
commit63f64d2824b290a75a82ac60c5b62a971b7c7a4e (patch)
tree33b650f61f82889453e6ede5426b7178ff9c8f93 /src/tutorial/basics.source
parent39369b41451e432396aa3a913cc4c68bf0f4ee3c (diff)
downloadpostgresql-63f64d2824b290a75a82ac60c5b62a971b7c7a4e.tar.gz
postgresql-63f64d2824b290a75a82ac60c5b62a971b7c7a4e.zip
Fix postmaster's handling of fork failure for a bgworker process.
This corner case didn't behave nicely at all: the postmaster would (partially) update its state as though the process had started successfully, and be quite confused thereafter. Fix it to act like the worker had crashed, instead. In passing, refactor so that do_start_bgworker contains all the state-change logic for bgworker launch, rather than just some of it. Back-patch as far as 9.4. 9.3 contains similar logic, but it's just enough different that I don't feel comfortable applying the patch without more study; and the use of bgworkers in 9.3 was so small that it doesn't seem worth the extra work. transam/parallel.c is still entirely unprepared for the possibility of bgworker startup failure, but that seems like material for a separate patch. Discussion: https://postgr.es/m/4905.1492813727@sss.pgh.pa.us
Diffstat (limited to 'src/tutorial/basics.source')
0 files changed, 0 insertions, 0 deletions