>> I assume that ESHUTDOWN is the errno in question? (This is also already >> mentioned in the PEP.) > > Indeed, I mentioned it in the PEP, as it appears in asyncore.py. > But I can't find it on www.opengroup.org, and no man page on my Linux > system (except the "errno" man page) seems to mention it.
It's not POSIX, but it's defined on Linux and FreeBSD (at least): http://lxr.free-electrons.com/source/include/asm-generic/errno.h#L81 http://fxr.watson.org/fxr/source/sys/errno.h?v=FREEBSD53#L122 > The description from errnomodule.c says "Cannot send after transport > endpoint shutdown", but send() actually returns EPIPE, not ESHUTDOWN, > when the socket has been shutdown: Indeed, as required by POSIX. But grepping through the Linux kernel source code, it seems to be used extensively for USB devices, see http://lxr.free-electrons.com/ident?i=ESHUTDOWN So the "transport endpoint" doesn't necessarily refer to a socket. It's also documented in http://lxr.free-electrons.com/source/Documentation/usb/error-codes.txt Finally, I found one place in the networking stack where ESHUTDOWN is used, in the SCTP code: http://lxr.free-electrons.com/source/net/sctp/outqueue.c#L329 _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com