[Python-ideas] Tulip / PEP 3156 (original) (raw)
[Python-ideas] Tulip / PEP 3156 - subprocess events
Guido van Rossum guido at python.org
Sun Jan 20 20:03:22 CET 2013
- Previous message: [Python-ideas] Tulip / PEP 3156 - subprocess events
- Next message: [Python-ideas] Tulip / PEP 3156 - subprocess events
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Sun, Jan 20, 2013 at 4:36 AM, Antoine Pitrou <solipsis at pitrou.net> wrote:
On Sat, 19 Jan 2013 20:35:04 -0800 Guido van Rossum <guido at python.org> wrote:
IOW, even though a transport may "have" a protocol without a connection, nobody should care about that state, and nobody should be calling its methods (again, write() etc.) in that state. In fact, nobody except event loop internal code should ever have a reference to a transport in that state. This is just not true. When the connection breaks, the protocol still has a reference to the transport and may still be trying to do things with the transport (because connectionlost() has not been called yet).
That's a different case though. There once was a connection. You are right that the transport needs to protect itself against the protocol making further calls to the transport API in this case. Anyway, I think Nick is okay with the separation between the protocol_factory() call and the connection_made() call, as long as the future returned by create_connection() isn't marked done until the connection_made() call returns. That's an easy fix in the current Tulip code. It's a little harder though to fix up the PEP to clarify all this...
-- --Guido van Rossum (python.org/~guido)
- Previous message: [Python-ideas] Tulip / PEP 3156 - subprocess events
- Next message: [Python-ideas] Tulip / PEP 3156 - subprocess events
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]