diff options
author | zeripath <art27@cantab.net> | 2019-10-15 14:39:51 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-15 14:39:51 +0100 |
commit | 167e8f18da3aadcdcdd7bb8c488c39d73ac65803 (patch) | |
tree | c2ad32fc8ced5657f62034551e72134a0a238fcb /routers/install.go | |
parent | 4a290bd64cd4c4ba77b9f3c4908a76cc521f9621 (diff) | |
download | gitea-167e8f18da3aadcdcdd7bb8c488c39d73ac65803.tar.gz gitea-167e8f18da3aadcdcdd7bb8c488c39d73ac65803.zip |
Restore Graceful Restarting & Socket Activation (#7274)
* Prevent deadlock in indexer initialisation during graceful restart
* Move from gracehttp to our own service to add graceful ssh
* Add timeout for start of indexers and make hammer time configurable
* Fix issue with re-initialization in indexer during tests
* move the code to detect use of closed to graceful
* Handle logs gracefully - add a pid suffix just before restart
* Move to using a cond and a holder for indexers
* use time.Since
* Add some comments and attribution
* update modules.txt
* Use zero to disable timeout
* Move RestartProcess to its own file
* Add cleanup routine
Diffstat (limited to 'routers/install.go')
-rw-r--r-- | routers/install.go | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/routers/install.go b/routers/install.go index 16888adc82..8f3d0d5ae6 100644 --- a/routers/install.go +++ b/routers/install.go @@ -386,6 +386,12 @@ func InstallPost(ctx *context.Context, form auth.InstallForm) { } log.Info("First-time run install finished!") + // FIXME: This isn't really enough to completely take account of new configuration + // We should really be restarting: + // - On windows this is probably just a simple restart + // - On linux we can't just use graceful.RestartProcess() everything that was passed in on LISTEN_FDS + // (active or not) needs to be passed out and everything new passed out too. + // This means we need to prevent the cleanup goroutine from running prior to the second GlobalInit ctx.Flash.Success(ctx.Tr("install.install_success")) ctx.Redirect(form.AppURL + "user/login") } |