Changes between Initial Version and Version 1 of Ticket #1671


Ignore:
Timestamp:
May 24, 2013 10:45:47 AM (11 years ago)
Author:
nanang
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #1671 – Description

    initial v1  
    66     - for TCP/TLS, it may actually a connect pending, this should be safe already, as on_data_sent() callback is invoked during transport destruction, 
    77     - the async send operation itself. 
     8 
    89Note that even usually there is timeout timer on every async operation, normally the timer poll is stopped during shutdown stage, so we can rely on it. 
    910 
     
    1112 - Introduce new behaviour: always invoke callback on DNS/transport destruction for any pending operation. This is considered to be risky as it potentially introduces more issues :) 
    1213 - Maintain a list of pending transmit buffers, so SIP endpoint can free any 'dangling' transmit buffers when the SIP endpoint is destroyed. 
     14 
     15=== Steps to reproduce with pjsua app === 
     16 - Pending DNS resolve: 
     17     - replace "{{{status = pj_ioqueue_sendto(...)}}}" with "{{{status = PJ_EPENDING}}}" in {{{pjlib-util/src/pjlib-util/resolver.c}}} 
     18     - specify nameserver setting in pjsua config param, e.g: {{{--nameserver 8.8.8.8}}} 
     19     - send OPTIONS message to a target URI with hostname, then quit pjsua. 
     20  - Pending send: 
     21     - replace any "{{{status = pj_activesock_send(...)}}}" with "{{{status = PJ_EPENDING}}}" in {{{sip_transport_tcp.c}}} 
     22     - send OPTIONS message via TCP, then quit pjsua.