Changeset 5000 for pjproject


Ignore:
Timestamp:
Mar 19, 2015 5:07:01 AM (9 years ago)
Author:
riza
Message:

Misc (re #1782): Check if the transport being shutdown in on_accept_complete and on_connect_complete callback

Location:
pjproject/trunk/pjsip/src/pjsip
Files:
2 edited

Legend:

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

    r4862 r5000  
    10961096    PJ_ASSERT_RETURN(sock != PJ_INVALID_SOCKET, PJ_TRUE); 
    10971097 
     1098    if (!listener->is_registered) 
     1099        return PJ_FALSE; 
     1100 
    10981101    PJ_LOG(4,(listener->factory.obj_name,  
    10991102              "TCP listener %.*s:%d: got incoming TCP connection " 
     
    11341137            tcp_destroy(&tcp->base, status); 
    11351138        } else { 
     1139            if (tcp->base.is_shutdown || tcp->base.is_destroying) { 
     1140                return PJ_TRUE; 
     1141            } 
    11361142            /* Start keep-alive timer */ 
    11371143            if (PJSIP_TCP_KEEP_ALIVE_INTERVAL) { 
     
    11431149                pj_gettimeofday(&tcp->last_activity); 
    11441150            } 
    1145  
    11461151            /* Notify application of transport state accepted */ 
    11471152            state_cb = pjsip_tpmgr_get_state_cb(tcp->base.tpmgr); 
    11481153            if (state_cb) { 
    11491154                pjsip_transport_state_info state_info; 
    1150              
     1155 
    11511156                pj_bzero(&state_info, sizeof(state_info)); 
    11521157                (*state_cb)(&tcp->base, PJSIP_TP_STATE_CONNECTED, &state_info); 
     
    14231428    tcp->has_pending_connect = PJ_FALSE; 
    14241429 
     1430    if (tcp->base.is_shutdown || tcp->base.is_destroying)  
     1431        return PJ_FALSE; 
     1432 
    14251433    /* Check connect() status */ 
    14261434    if (status != PJ_SUCCESS) { 
     
    14831491    if (state_cb) { 
    14841492        pjsip_transport_state_info state_info; 
    1485      
     1493         
    14861494        pj_bzero(&state_info, sizeof(state_info)); 
    14871495        (*state_cb)(&tcp->base, PJSIP_TP_STATE_CONNECTED, &state_info); 
  • pjproject/trunk/pjsip/src/pjsip/sip_transport_tls.c

    r4973 r5000  
    11801180    PJ_ASSERT_RETURN(new_ssock, PJ_TRUE); 
    11811181 
     1182    if (!listener->is_registered) 
     1183        return PJ_FALSE; 
     1184 
    11821185    PJ_LOG(4,(listener->factory.obj_name,  
    11831186              "TLS listener %.*s:%d: got incoming TLS connection " 
     
    12371240        pjsip_transport_shutdown(&tls->base); 
    12381241    } 
    1239  
    12401242    /* Notify transport state to application */ 
    12411243    state_cb = pjsip_tpmgr_get_state_cb(tls->base.tpmgr); 
     
    15551557 
    15561558    tls = (struct tls_transport*) pj_ssl_sock_get_user_data(ssock); 
     1559 
     1560    if (tls->base.is_shutdown || tls->base.is_destroying)  
     1561        return PJ_FALSE; 
    15571562 
    15581563    /* Check connect() status */ 
Note: See TracChangeset for help on using the changeset viewer.