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;
#else
        static char buf [BUF_SIZE+1];
#endif

...

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

...

                /* 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.


regards
Klaus

_______________________________________________
sr-dev mailing list
[email protected]
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

Reply via email to