Martin Panter added the comment:

I thought the purpose of server_close() was to clean up resources after you 
have finished calling serve_forever() or handle_request(). Just like you call 
close() on a file after you have finished reading or writing it. If you try to 
read or write a closed file, that is a programmer error.

This proposal sounds like a new feature, but you are overloading or redefining 
the purpose of server_close().

>From the test case I presume you intend to use server_close() in a separate 
>thread from the thread running serve_forever(). But closing a file descriptor 
>while it is being used in another thread does not seem robust to me. It could 
>cause serve_forever() to raise EBADF. In the worst case, consider what happens 
>if an unrelated third thread makes the server’s file descriptor valid again by 
>opening a file.

What is your use case? If you want to use multithreading, why can’t you use the 
shutdown() method? For a single-threaded server, maybe see Issue 13749, and 
maybe Issue 23430 would help by allowing exceptions like SystemExit to stop the 
server.

----------
nosy: +martin.panter
type:  -> enhancement

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue26392>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to