Hi,

I noticed pound's memory usage slowly increasing over time so I've been
having a quick scan through the code. I've noticed the following section of
code (lines 883-893 of http.c) which I think is missing a call to
free_headers:

/* add header if required */
if(lstn->add_head != NULL)
    if(BIO_printf(be, "%s\r\n", lstn->add_head) <= 0) {
        str_be(buf, MAXBUF - 1, cur_backend);
        end_req = cur_time();
        logmsg(LOG_WARNING, "(%lx) e500 error write HTTPSHeader to %s: %s
(%.3f sec)",
        pthread_self(), buf, strerror(errno), (end_req - start_req) /
1000000.0);
        err_reply(cl, h500, lstn->err500);
        clean_all();
        pthread_exit(NULL);
    }

All the other pthread_exit calls before this follow a call to free_headers
and free_headers is called just after this. Unfortunately as I don't use the
add header option this isn't the cause of the memory problem I'm seeing.

Regards,
Andrew


--
To unsubscribe send an email with subject unsubscribe to [email protected].
Please contact [email protected] for questions.

Reply via email to