167e8f18da
* 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
38 lines
1.0 KiB
Go
38 lines
1.0 KiB
Go
// +build !windows
|
|
|
|
// Copyright 2016 The Gitea Authors. All rights reserved.
|
|
// Use of this source code is governed by a MIT-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package cmd
|
|
|
|
import (
|
|
"crypto/tls"
|
|
"net/http"
|
|
|
|
"code.gitea.io/gitea/modules/graceful"
|
|
)
|
|
|
|
func runHTTP(listenAddr string, m http.Handler) error {
|
|
return graceful.HTTPListenAndServe("tcp", listenAddr, m)
|
|
}
|
|
|
|
func runHTTPS(listenAddr, certFile, keyFile string, m http.Handler) error {
|
|
return graceful.HTTPListenAndServeTLS("tcp", listenAddr, certFile, keyFile, m)
|
|
}
|
|
|
|
func runHTTPSWithTLSConfig(listenAddr string, tlsConfig *tls.Config, m http.Handler) error {
|
|
return graceful.HTTPListenAndServeTLSConfig("tcp", listenAddr, tlsConfig, m)
|
|
}
|
|
|
|
// NoHTTPRedirector tells our cleanup routine that we will not be using a fallback http redirector
|
|
func NoHTTPRedirector() {
|
|
graceful.InformCleanup()
|
|
}
|
|
|
|
// NoMainListener tells our cleanup routine that we will not be using a possibly provided listener
|
|
// for our main HTTP/HTTPS service
|
|
func NoMainListener() {
|
|
graceful.InformCleanup()
|
|
}
|