Changeset 2797


Ignore:
Timestamp:
Jun 25, 2009 10:05:18 AM (11 years ago)
Author:
bennylp
Message:

Ticket #906: Transaction is not destroyed when transport timeout event comes later than transaction timeout (thanks Norma Steveley for the report)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjsip/src/pjsip/sip_transaction.c

    r2739 r2797  
    16981698        } 
    16991699 
    1700         if (!*cont) { 
     1700        /* Also stop processing if transaction has been flagged with 
     1701         * pending destroy (http://trac.pjsip.org/repos/ticket/906) 
     1702         */ 
     1703        if ((!*cont) || (tsx->transport_flag & TSX_HAS_PENDING_DESTROY)) { 
    17011704            char errmsg[PJ_ERR_MSG_SIZE]; 
    17021705            pjsip_status_code sc; 
     
    17331736            { 
    17341737                tsx_set_state( tsx, PJSIP_TSX_STATE_TERMINATED,  
     1738                               PJSIP_EVENT_TRANSPORT_ERROR, send_state->tdata); 
     1739            }  
     1740            /* Don't forget to destroy if we have pending destroy flag 
     1741             * (http://trac.pjsip.org/repos/ticket/906) 
     1742             */ 
     1743            else if (tsx->transport_flag & TSX_HAS_PENDING_DESTROY) 
     1744            { 
     1745                tsx_set_state( tsx, PJSIP_TSX_STATE_DESTROYED,  
    17351746                               PJSIP_EVENT_TRANSPORT_ERROR, send_state->tdata); 
    17361747            } 
Note: See TracChangeset for help on using the changeset viewer.