diff options
author | Benny Prijono <bennylp@teluu.com> | 2007-11-05 23:25:37 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2007-11-05 23:25:37 +0000 |
commit | 156648a692cd9147563c4983bf41699d25402f50 (patch) | |
tree | 79fa4d3e0a5691417c9037e68062514695c22d23 | |
parent | 64d35f1ec59ac48d81207b04b15020691f075845 (diff) |
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
-rw-r--r-- | pjsip/src/pjsip/sip_transport_tcp.c | 3 |
1 files changed, 3 insertions, 0 deletions
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 */ |