MCPcopy
hub / github.com/fvbock/endless / shutdown

Method shutdown

endless.go:370–387  ·  view source on GitHub ↗

* shutdown closes the listener so that no new connections are accepted. it also starts a goroutine that will hammer (stop all running requests) the server after DefaultHammerTime. */

()

Source from the content-addressed store, hash-verified

368after DefaultHammerTime.
369*/
370func (srv *endlessServer) shutdown() {
371 if srv.getState() != STATE_RUNNING {
372 return
373 }
374
375 srv.setState(STATE_SHUTTING_DOWN)
376 if DefaultHammerTime >= 0 {
377 go srv.hammerTime(DefaultHammerTime)
378 }
379 // disable keep-alives on existing connections
380 srv.SetKeepAlivesEnabled(false)
381 err := srv.EndlessListener.Close()
382 if err != nil {
383 log.Println(syscall.Getpid(), "Listener.Close() error:", err)
384 } else {
385 log.Println(syscall.Getpid(), srv.EndlessListener.Addr(), "Listener closed.")
386 }
387}
388
389/*
390hammerTime forces the server to shutdown in a given timeout - whether it

Callers 1

handleSignalsMethod · 0.95

Calls 4

getStateMethod · 0.95
setStateMethod · 0.95
hammerTimeMethod · 0.95
CloseMethod · 0.45

Tested by

no test coverage detected