mirror of
https://github.com/postgres/postgres.git
synced 2026-05-27 12:00:13 -04:00
Use proc_exit() for walreceiver exit in WalRcvWaitForStartPosition()
Previously, when the walreceiver exited from WalRcvWaitForStartPosition() at the startup process's request, it called exit(1) directly. This could skip cleanup performed by the callback functions. This commit makes the walreceiver to use proc_exit() instead, ensuring normal cleanup is executed on exit. Also this commit updates comments describing walreceiver termination. Apply to master only, as this has not caused practical issues so far. Author: Chao Li <lic@highgo.com> Reviewed-by: Fujii Masao <masao.fujii@gmail.com> Reviewed-by: Andreas Karlsson <andreas@proxel.se> Reviewed-by: Xuneng Zhou <xunengzhou@gmail.com> Discussion: https://postgr.es/m/74381238-4E8A-4621-B794-57025DCCE0BA@gmail.com
This commit is contained in:
parent
7102ce9823
commit
ee550254a2
1 changed files with 4 additions and 4 deletions
|
|
@ -30,9 +30,9 @@
|
|||
* a new one.
|
||||
*
|
||||
* Normal termination is by SIGTERM, which instructs the walreceiver to
|
||||
* exit(0). Emergency termination is by SIGQUIT; like any postmaster child
|
||||
* process, the walreceiver will simply abort and exit on SIGQUIT. A close
|
||||
* of the connection and a FATAL error are treated not as a crash but as
|
||||
* ereport(FATAL). Emergency termination is by SIGQUIT; like any postmaster
|
||||
* child process, the walreceiver will simply abort and exit on SIGQUIT. A
|
||||
* close of the connection and a FATAL error are treated not as a crash but as
|
||||
* normal operation.
|
||||
*
|
||||
* This file contains the server-facing parts of walreceiver. The libpq-
|
||||
|
|
@ -710,7 +710,7 @@ WalRcvWaitForStartPosition(XLogRecPtr *startpoint, TimeLineID *startpointTLI)
|
|||
* to die, but might as well check it here too.
|
||||
*/
|
||||
SpinLockRelease(&walrcv->mutex);
|
||||
exit(1);
|
||||
proc_exit(1);
|
||||
}
|
||||
SpinLockRelease(&walrcv->mutex);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue