Hi,

I've started hitting some pygnus negative test failures on trunk that used to 
pass on 0.7.  There seems to have been an change to the behavior in the 
pn_transport_close_head() and pn_transport_close_tail() api as part of this 
checkin:

http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/transport/transport.c?r1=1611460&r2=1611461

On 0.7, these methods used to return error codes should the close occur at an 
unexpected point in the protocol exchange.  Specifically, my tests that are 
failing try to simulate a premature socket close by calling 
pn_transport_close_{head,tail}() immediately after the connection state has hit 
LOCAL_ACTIVE|REMOTE_ACTIVE.

Pyngus had used the error codes to signal the 'connection_failure()' callback 
to the application.  The tests that verify that the callback gets triggered on 
a premature socket close are now failing.

Pyngus' 'lower-half' is pretty stupid, and merely shuttles bytes between the 
sockets and the transports.  Should a socket close, the lower-half really isn't 
aware of the state of the connection (clean close, or aborted).

Is there a better method for detecting connection aborts?

thanks,

-K

Reply via email to