File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -368,24 +368,28 @@ def sockets(self):
368368 def close (self ):
369369 if self ._state in {_ServerState .CLOSED , _ServerState .SHUTDOWN }:
370370 return
371- else :
371+
372+ prev_state = self ._state
373+ try :
372374 self ._state = _ServerState .CLOSED
373375
374- sockets = self ._sockets
375- if sockets is None :
376- return
377- self ._sockets = None
376+ sockets = self ._sockets
377+ if sockets is None :
378+ return
379+ self ._sockets = None
378380
379- for sock in sockets :
380- self ._loop ._stop_serving (sock )
381+ for sock in sockets :
382+ self ._loop ._stop_serving (sock )
381383
382- if (self ._serving_forever_fut is not None and
383- not self ._serving_forever_fut .done ()):
384- self ._serving_forever_fut .cancel ()
385- self ._serving_forever_fut = None
384+ if (self ._serving_forever_fut is not None and
385+ not self ._serving_forever_fut .done ()):
386+ self ._serving_forever_fut .cancel ()
387+ self ._serving_forever_fut = None
386388
387- if len (self ._clients ) == 0 :
388- self ._shutdown ()
389+ if len (self ._clients ) == 0 :
390+ self ._shutdown ()
391+ except :
392+ self ._state = prev_state
389393
390394 def close_clients (self ):
391395 for transport in self ._clients .copy ():
You can’t perform that action at this time.
0 commit comments