After a crash, don't restart workers with BGW_NEVER_RESTART.
Amit Khandekar
This commit is contained in:
parent
abd94bcac4
commit
b3a5e76e12
@ -419,9 +419,9 @@ BackgroundWorkerStopNotifications(pid_t pid)
|
|||||||
/*
|
/*
|
||||||
* Reset background worker crash state.
|
* Reset background worker crash state.
|
||||||
*
|
*
|
||||||
* We assume that, after a crash-and-restart cycle, background workers should
|
* We assume that, after a crash-and-restart cycle, background workers without
|
||||||
* be restarted immediately, instead of waiting for bgw_restart_time to
|
* the never-restart flag should be restarted immediately, instead of waiting
|
||||||
* elapse.
|
* for bgw_restart_time to elapse.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
ResetBackgroundWorkerCrashTimes(void)
|
ResetBackgroundWorkerCrashTimes(void)
|
||||||
@ -433,7 +433,14 @@ ResetBackgroundWorkerCrashTimes(void)
|
|||||||
RegisteredBgWorker *rw;
|
RegisteredBgWorker *rw;
|
||||||
|
|
||||||
rw = slist_container(RegisteredBgWorker, rw_lnode, iter.cur);
|
rw = slist_container(RegisteredBgWorker, rw_lnode, iter.cur);
|
||||||
rw->rw_crashed_at = 0;
|
|
||||||
|
/*
|
||||||
|
* For workers that should not be restarted, we don't want to lose
|
||||||
|
* the information that they have crashed; otherwise, they would be
|
||||||
|
* restarted, which is wrong.
|
||||||
|
*/
|
||||||
|
if (rw->rw_worker.bgw_restart_time != BGW_NEVER_RESTART)
|
||||||
|
rw->rw_crashed_at = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user