From 156648a692cd9147563c4983bf41699d25402f50 Mon Sep 17 00:00:00 2001 From: Benny Prijono Date: Mon, 5 Nov 2007 23:25:37 +0000 Subject: SIP TCP and TLS transports may call send completion callback with bytes_set=0 when send operation fails because outgoing connection is cancelled (for example, application quits). This will trigger assertion error in transaction because transaction only expects positive or negative bytes_set number, but not zero git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1551 74dad513-b988-da41-8d7b-12977e46ad98 --- pjsip/src/pjsip/sip_transport_tcp.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'pjsip') diff --git a/pjsip/src/pjsip/sip_transport_tcp.c b/pjsip/src/pjsip/sip_transport_tcp.c index 94eb61da..4a8024d2 100644 --- a/pjsip/src/pjsip/sip_transport_tcp.c +++ b/pjsip/src/pjsip/sip_transport_tcp.c @@ -1078,6 +1078,9 @@ static void on_write_complete(pj_ioqueue_key_t *key, /* * Notify sip_transport.c that packet has been sent. */ + if (bytes_sent == 0) + bytes_sent = -PJ_RETURN_OS_ERROR(OSERR_ENOTCONN); + tdata_op_key->callback(&tcp->base, tdata_op_key->token, bytes_sent); /* Mark last activity time */ -- cgit v1.2.3