Skip to content
Snippets Groups Projects
Commit d9e74959 authored by Tom Lane's avatar Tom Lane
Browse files

Register atexit hook only once in pg_upgrade.

start_postmaster() registered stop_postmaster_atexit as an atexit(3)
callback each time through, although the obvious intention was to do
so only once per program run.  The extra registrations were harmless,
so long as we didn't exceed ATEXIT_MAX, but still it's a bug.

Artur Zakirov, with bikeshedding by Kyotaro Horiguchi and me

Discussion: <d279e817-02b5-caa6-215f-cfb05dce109a@postgrespro.ru>
parent de8c92e6
Branches
Tags
No related merge requests found
......@@ -174,10 +174,11 @@ start_postmaster(ClusterInfo *cluster, bool throw_error)
{
char cmd[MAXPGPATH * 4 + 1000];
PGconn *conn;
bool exit_hook_registered = false;
bool pg_ctl_return = false;
char socket_string[MAXPGPATH + 200];
static bool exit_hook_registered = false;
if (!exit_hook_registered)
{
atexit(stop_postmaster_atexit);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment