homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author martin.panter
Recipients alex, christian.heimes, dstufft, janssen, martin.panter, vstinner
Date 2017年07月01日.01:18:41
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1498871922.08.0.88218757917.issue30319@psf.upfronthosting.co.za>
In-reply-to
Content
I think fixing all affected calls to socket.close in the world (option 3) would be too much. I just added two new reports (Issue 30652 and Issue 30391) as dependencies. These are about testing socketserver.TCPServer. As an example, to fix the socket.close call there, I think the change would look like
class TCPServer:
 def close_request(self, request):
 try:
 request.close()
 except ConnectionError:
 # Suppress asynchronous errors such as ECONNRESET on Free BSD
 pass
Instead of that change all over the place, I am thinking option 2 would be safest. In Modules/socketmodule.c, something like
sock_close(PySocketSockObject *s)
{
 Py_BEGIN_ALLOW_THREADS
 res = SOCKETCLOSE(fd);
 Py_END_ALLOW_THREADS
 /* ECONNRESET can occur on Free BSD */
 if (res < 0 && errno != ECONNRESET) {
 return s->errorhandler();
 }
}
History
Date User Action Args
2017年07月01日 01:18:42martin.pantersetrecipients: + martin.panter, janssen, vstinner, christian.heimes, alex, dstufft
2017年07月01日 01:18:42martin.pantersetmessageid: <1498871922.08.0.88218757917.issue30319@psf.upfronthosting.co.za>
2017年07月01日 01:18:42martin.panterlinkissue30319 messages
2017年07月01日 01:18:41martin.pantercreate

AltStyle によって変換されたページ (->オリジナル) /