diff options
| author | Adnan Maolood <[email protected]> | 2021-02-15 20:16:32 -0500 |
|---|---|---|
| committer | Adnan Maolood <[email protected]> | 2021-02-15 20:16:32 -0500 |
| commit | a05fa6d6bdd3e0c5b6879a7f4d0ac1a25971a246 (patch) | |
| tree | 696d1c87991a7901c679e2af673cd03fba4bf653 /server.go | |
| parent | server: Use separate mutex for handlers (diff) | |
| download | go-gemini-a05fa6d6bdd3e0c5b6879a7f4d0ac1a25971a246.tar.xz go-gemini-a05fa6d6bdd3e0c5b6879a7f4d0ac1a25971a246.zip | |
server: Avoid creating a new Listener after Close
Diffstat (limited to 'server.go')
| -rw-r--r-- | server.go | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -117,6 +117,10 @@ func (srv *Server) HandleFunc(pattern string, handler func(ResponseWriter, *Requ // ListenAndServe always returns a non-nil error. After Shutdown or Close, the // returned error is ErrServerClosed. func (srv *Server) ListenAndServe() error { + if atomic.LoadInt32(&srv.done) == 1 { + return ErrServerClosed + } + addr := srv.Addr if addr == "" { addr = ":1965" |