@@ -231,14 +231,16 @@ async def ssl_handle(reader: asyncio.StreamReader, writer: asyncio.StreamWriter)
231
231
writer .close ()
232
232
233
233
async def _check_server (ip : str , port : int ):
234
+ res = True
234
235
try :
235
236
r , w = await asyncio .wait_for (asyncio .open_connection (ip , port ), 5 )
236
237
w .close ()
237
238
await asyncio .wait_for (w .wait_closed (), 10 )
238
- return True
239
+ res = True
239
240
except :
240
241
logger .ttraceback ("web.traceback.check_server" , port = port )
241
- return False
242
+ res = False
243
+ return res
242
244
243
245
async def check_server ():
244
246
global site , public_server , private_ssl_server
@@ -293,7 +295,10 @@ async def start_public_server():
293
295
global public_server
294
296
if public_server is not None :
295
297
public_server .close ()
296
- await public_server .wait_closed ()
298
+ try :
299
+ await asyncio .wait_for (public_server .wait_closed (), 10 )
300
+ except :
301
+ ...
297
302
public_server = await asyncio .start_server (
298
303
public_handle , host = '0.0.0.0' ,port = config .const .public_port
299
304
)
@@ -327,7 +332,10 @@ async def _start_ssl_server():
327
332
return
328
333
if private_ssl_server is not None and private_ssl_server .is_serving ():
329
334
private_ssl_server .close ()
330
- await private_ssl_server .wait_closed ()
335
+ try :
336
+ await asyncio .wait_for (private_ssl_server .wait_closed (), 10 )
337
+ except :
338
+ ...
331
339
port = await get_free_port ()
332
340
private_ssl_server = await asyncio .start_server (
333
341
ssl_handle ,
0 commit comments