[sr-dev] receive buffer questions

Klaus Darilion klaus.mailinglists at pernau.at
Thu Feb 21 08:05:12 CET 2013

Hi! I have 2 questions regarding the receive buffer:

1. Core parameter: tcp_clone_rcvbuf

> Control if the received buffer should be cloned from the TCP stream, needed by functions working inside the SIP message buffer (such as msg_apply_changes()).
> Default is 0 (don't clone), set it to 1 for cloning.

Does this mean that in the default setting msg_apply_changes() does not 
work for messages received via TCP? If yes, we should add this 
information to the documentation of msg_apply_changes().

2. in udp_server.c function udp_rcv_loop():
#ifdef DYN_BUF
         char* buf;
         static char buf [BUF_SIZE+1];


#ifdef DYN_BUF
                 if (buf==0){
                         LOG(L_ERR, "ERROR: udp_rcv_loop: could not 
allocate receive"
                                          " buffer\n");
                         goto error;


                 /* receive_msg must free buf too!*/
                 receive_msg(buf, len, &ri);

a) I think the /* receive_msg must free buf too!*/ comment is wrong as 
receive_msg does not free the buffer. It does not even know if it is a 
static buffer or allocated. -> remove the comment?

b) It seems that if DYN_BUF is defined, "buf" will not be freed at all.


More information about the sr-dev mailing list