summaryrefslogtreecommitdiffstats
path: root/cmd/web_graceful.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/web_graceful.go')
-rw-r--r--cmd/web_graceful.go17
1 files changed, 17 insertions, 0 deletions
diff --git a/cmd/web_graceful.go b/cmd/web_graceful.go
index 3907e843a2..e303f71510 100644
--- a/cmd/web_graceful.go
+++ b/cmd/web_graceful.go
@@ -6,9 +6,12 @@ package cmd
import (
"crypto/tls"
+ "net"
"net/http"
+ "net/http/fcgi"
"code.gitea.io/gitea/modules/graceful"
+ "code.gitea.io/gitea/modules/log"
)
func runHTTP(network, listenAddr string, m http.Handler) error {
@@ -33,3 +36,17 @@ func NoHTTPRedirector() {
func NoMainListener() {
graceful.Manager.InformCleanup()
}
+
+func runFCGI(listenAddr string, m http.Handler) error {
+ // This needs to handle stdin as fcgi point
+ fcgiServer := graceful.NewServer("tcp", listenAddr)
+
+ err := fcgiServer.ListenAndServe(func(listener net.Listener) error {
+ return fcgi.Serve(listener, m)
+ })
+ if err != nil {
+ log.Fatal("Failed to start FCGI main server: %v", err)
+ }
+ log.Info("FCGI Listener: %s Closed", listenAddr)
+ return err
+}