Changeset 563 for pjproject/trunk/pjsip/src/pjsip/sip_transport.c
- Timestamp:
- Jun 28, 2006 4:46:49 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/pjsip/src/pjsip/sip_transport.c
r550 r563 37 37 #define THIS_FILE "sip_transport.c" 38 38 39 #if 0 40 # define TRACE_(x) PJ_LOG(5,x) 41 #else 42 # define TRACE_(x) 43 #endif 44 39 45 /* Prototype. */ 40 46 static pj_status_t mod_on_tx_msg(pjsip_tx_data *tdata); … … 602 608 pj_lock_release(mgr->lock); 603 609 610 TRACE_((THIS_FILE,"Transport %s registered: type=%s, remote=%s:%d", 611 tp->obj_name, 612 pjsip_transport_get_type_name(tp->key.type), 613 pj_inet_ntoa(((pj_sockaddr_in*)&tp->key.rem_addr)->sin_addr), 614 pj_ntohs(((pj_sockaddr_in*)&tp->key.rem_addr)->sin_port))); 615 604 616 return PJ_SUCCESS; 605 617 } … … 610 622 { 611 623 int key_len; 624 625 TRACE_((THIS_FILE, "Transport %s is being destroyed", tp->obj_name)); 612 626 613 627 pj_lock_acquire(tp->lock); … … 627 641 */ 628 642 key_len = sizeof(tp->key.type) + tp->addr_len; 643 pj_assert(pj_hash_get(mgr->table, &tp->key, key_len, NULL) != NULL); 629 644 pj_hash_set(tp->pool, mgr->table, &tp->key, key_len, 0, NULL); 630 645 … … 643 658 pjsip_tpmgr *mgr; 644 659 pj_status_t status; 660 661 TRACE_((THIS_FILE, "Transport %s shutting down", tp->obj_name)); 645 662 646 663 pj_lock_acquire(tp->lock); … … 808 825 pj_hash_iterator_t itr_val; 809 826 pj_hash_iterator_t *itr; 827 pjsip_tpfactory *factory; 810 828 pjsip_endpoint *endpt = mgr->endpt; 811 829 … … 814 832 pj_lock_acquire(mgr->lock); 815 833 834 /* 835 * Destroy all transports. 836 */ 816 837 itr = pj_hash_first(mgr->table, &itr_val); 817 838 while (itr != NULL) { … … 828 849 } 829 850 851 /* 852 * Destroy all factories/listeners. 853 */ 854 factory = mgr->factory_list.next; 855 while (factory != &mgr->factory_list) { 856 pjsip_tpfactory *next = factory->next; 857 858 factory->destroy(factory); 859 860 factory = next; 861 } 862 830 863 pj_lock_release(mgr->lock); 831 864 pj_lock_destroy(mgr->lock); … … 843 876 //pj_assert(pj_atomic_get(mgr->tdata_counter) == 0); 844 877 if (pj_atomic_get(mgr->tdata_counter) != 0) { 845 PJ_LOG( 4,(THIS_FILE, "Warning: %d transmit buffers arenot freed!",878 PJ_LOG(3,(THIS_FILE, "Warning: %d transmit buffer(s) not freed!", 846 879 pj_atomic_get(mgr->tdata_counter))); 847 880 } … … 880 913 881 914 /* Process all message fragments. */ 882 while ( total_processed < remaining_len) {915 while (remaining_len > 0) { 883 916 884 917 pjsip_msg *msg; 885 pj_size_t msg_fragment_size = 0;918 pj_size_t msg_fragment_size; 886 919 887 920 /* Initialize default fragment size. */ … … 1039 1072 pj_status_t status; 1040 1073 1074 TRACE_((THIS_FILE,"Acquiring transport type=%s, remote=%s:%d", 1075 pjsip_transport_get_type_name(type), 1076 pj_inet_ntoa(((pj_sockaddr_in*)remote)->sin_addr), 1077 pj_ntohs(((pj_sockaddr_in*)remote)->sin_port))); 1078 1041 1079 pj_lock_acquire(mgr->lock); 1042 1080 … … 1084 1122 pj_lock_release(mgr->lock); 1085 1123 *tp = transport; 1124 1125 TRACE_((THIS_FILE, "Transport %s acquired", transport->obj_name)); 1086 1126 return PJ_SUCCESS; 1087 1127 } … … 1101 1141 /* No factory can create the transport! */ 1102 1142 pj_lock_release(mgr->lock); 1143 TRACE_((THIS_FILE, "No suitable factory was found either")); 1103 1144 return PJSIP_EUNSUPTRANSPORT; 1104 1145 } 1146 1147 TRACE_((THIS_FILE, "%s, creating new one from factory", 1148 (transport?"Transport is shutdown":"No transport found"))); 1105 1149 1106 1150 /* Request factory to create transport. */
Note: See TracChangeset
for help on using the changeset viewer.