Changeset 449 in code for trunk/cmd/soju/main.go
- Timestamp:
- Feb 9, 2021, 4:34:46 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/cmd/soju/main.go
r418 r449 8 8 "net/http" 9 9 "net/url" 10 "os" 11 "os/signal" 10 12 "strings" 13 "syscall" 11 14 12 15 "github.com/pires/go-proxyproto" … … 90 93 ln = proxyProtoListener(ln, srv) 91 94 go func() { 92 log.Fatal(srv.Serve(ln)) 95 if err := srv.Serve(ln); err != nil { 96 log.Printf("serving %q: %v", listen, err) 97 } 93 98 }() 94 99 case "irc+insecure": … … 103 108 ln = proxyProtoListener(ln, srv) 104 109 go func() { 105 log.Fatal(srv.Serve(ln)) 110 if err := srv.Serve(ln); err != nil { 111 log.Printf("serving %q: %v", listen, err) 112 } 106 113 }() 107 114 case "wss": … … 116 123 } 117 124 go func() { 118 log.Fatal(httpSrv.ListenAndServeTLS("", "")) 125 if err := httpSrv.ListenAndServeTLS("", ""); err != nil { 126 log.Fatalf("serving %q: %v", listen, err) 127 } 119 128 }() 120 129 case "ws+insecure": … … 128 137 } 129 138 go func() { 130 log.Fatal(httpSrv.ListenAndServe()) 139 if err := httpSrv.ListenAndServe(); err != nil { 140 log.Fatalf("serving %q: %v", listen, err) 141 } 131 142 }() 132 143 case "ident": … … 145 156 ln = proxyProtoListener(ln, srv) 146 157 go func() { 147 log.Fatal(srv.Identd.Serve(ln)) 158 if err := srv.Identd.Serve(ln); err != nil { 159 log.Printf("serving %q: %v", listen, err) 160 } 148 161 }() 149 162 default: … … 153 166 log.Printf("server listening on %q", listen) 154 167 } 155 log.Fatal(srv.Run()) 168 169 sigCh := make(chan os.Signal, 1) 170 signal.Notify(sigCh, syscall.SIGINT, syscall.SIGTERM) 171 172 if err := srv.Start(); err != nil { 173 log.Fatal(err) 174 } 175 176 <-sigCh 177 log.Print("shutting down server") 178 srv.Shutdown() 156 179 } 157 180
Note:
See TracChangeset
for help on using the changeset viewer.