diff --git a/core/base.go b/core/base.go index e5330431..a1947fc9 100644 --- a/core/base.go +++ b/core/base.go @@ -557,8 +557,10 @@ func (app *BaseApp) Restart() error { App: app, IsRestart: true, }, func(e *TerminateEvent) error { + e.App.ResetBootstrapState() + // attempt to restart the bootstrap process in case execve returns an error for some reason - defer app.Bootstrap() + defer e.App.Bootstrap() return syscall.Exec(execPath, os.Args, os.Environ()) }) diff --git a/pocketbase.go b/pocketbase.go index 95b874ff..e1d3534d 100644 --- a/pocketbase.go +++ b/pocketbase.go @@ -169,6 +169,8 @@ func (pb *PocketBase) Execute() error { // trigger cleanups return pb.OnTerminate().Trigger(&core.TerminateEvent{ App: pb, + }, func(e *core.TerminateEvent) error { + return e.App.ResetBootstrapState() }) }