浏览代码

branch works!!

Bogdan-Andrei Iancu 24 年之前
父节点
当前提交
e624bf2e08
共有 3 个文件被更改,包括 9 次插入6 次删除
  1. 1 0
      modules/tm/h_table.c
  2. 8 5
      modules/tm/t_funcs.c
  3. 0 1
      modules/tm/timer.c

+ 1 - 0
modules/tm/h_table.c

@@ -143,6 +143,7 @@ struct cell*  build_cell( struct sip_msg* p_msg )
    /* ref counter is 0 */
    /* all pointers from timers list tl are NULL */
    new_cell->wait_tl.payload = new_cell;
+   new_cell->dele_tl.payload = new_cell;
 
    /* inbound request */
    /* force parsing all the needed headers*/

+ 8 - 5
modules/tm/t_funcs.c

@@ -235,6 +235,9 @@ int t_forward( struct sip_msg* p_msg , unsigned int dest_ip_param , unsigned int
       /* allocates a new retrans_buff for the outbound request */
       T->outbound_request[branch] = (struct retrans_buff*)sh_malloc( sizeof(struct retrans_buff) );
       memset( T->outbound_request[branch] , 0 , sizeof (struct retrans_buff) );
+      T->outbound_request[branch]->tl[RETRASMISSIONS_LIST].payload = "cucu bau";// T->outbound_request[branch];
+      T->outbound_request[branch]->tl[FR_TIMER_LIST].payload =  T->outbound_request[branch];
+      DBG("DEBUG: t_forward: ************PAYLOAD=%p\n",T->outbound_request[branch]);
       T->nr_of_outgoings = 1;
 
       /* special case : CANCEL */
@@ -291,7 +294,7 @@ int t_forward( struct sip_msg* p_msg , unsigned int dest_ip_param , unsigned int
       insert_into_timer_list( hash_table , &(T->outbound_request[branch]->tl[RETRASMISSIONS_LIST]), RETRASMISSIONS_LIST , RETR_T1 );
    }/* end for the first time */
 
-   DBG("DEBUG: t_forward: sending outbund request from buffer (%d bytes):\n%*s\n", 
+   DBG("DEBUG: t_forward: sending outbund request from buffer (%d bytes):\n%*s\n",
 	T->outbound_request[branch]->bufflen, T->outbound_request[branch]->bufflen,
 	 T->outbound_request[branch]->buffer);
    /* send the request */
@@ -326,12 +329,12 @@ int t_forward_uri( struct sip_msg* p_msg, char* foo, char* bar  )
       global_msg_id = p_msg->id;
    }
 
-   DBG("DEBUG: t_forward: 1. T=%x\n", T);
+   DBG("DEBUG: t_forward_uri: 1. T=%x\n", T);
    /* if  T hasn't been previous searched -> search for it */
    if ( (int)T ==-1 )
       t_lookup_request( p_msg, 0 , 0 );
 
-   DBG("DEBUG: t_forward: 2. T=%x\n", T);
+   DBG("DEBUG: t_forward_uri: 2. T=%x\n", T);
    /*if T hasn't been found after all -> return not found (error) */
    if ( !T )
       return -1;
@@ -1070,8 +1073,8 @@ void retransmission_handler( void *attr)
    struct retrans_buff* r_buf = (struct retrans_buff*)attr;
 
    /* the transaction is already removed from RETRANSMISSION_LIST by the timer */
-   DBG("DEBUG: retransmission_handler : payload received=%p\n",attr);
-
+   DBG("DEBUG: retransmission_handler : payload received=%s\n",(char*)attr);
+   return;
    /* computs the new timeout. */
    if ( r_buf->timeout_value<r_buf->timeout_ceiling )
       r_buf->timeout_value *=2;

+ 0 - 1
modules/tm/timer.c

@@ -45,7 +45,6 @@ void insert_into_timer_list( struct s_table* hash_table , struct timer_link* new
     /* if we have an empty list*/
    if ( !timer_list->first_tl )
    {
-      DBG("DEBUG: insert_into_timer[%d]: empty list\n",list_id);
       new_tl->next_tl= 0;
       new_tl->prev_tl = 0;
       lock( timer_list->mutex );