dgaudet 98/02/04 13:23:34
Modified: src CHANGES src/main http_protocol.c Log: Igor found a memory leak -- we're allocating the initial request_rec in the connection pool rather than creating a new pool first. So each request on a keepalive connection would waste sizeof(request_rec). Revision Changes Path 1.616 +2 -0 apache-1.3/src/CHANGES Index: CHANGES =================================================================== RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.615 retrieving revision 1.616 diff -u -r1.615 -r1.616 --- CHANGES 1998/02/03 11:19:26 1.615 +++ CHANGES 1998/02/04 21:23:30 1.616 @@ -1,4 +1,6 @@ Changes with Apache 1.3b4 + + *) Fix a memory leak on keep-alive connections. [Igor Tatarinov] *) Added mod_so module to support dynamic loading of modules on Unix (like mod_dld for Win32). This replaces mod_dld.c. Use SharedModule 1.185 +5 -2 apache-1.3/src/main/http_protocol.c Index: http_protocol.c =================================================================== RCS file: /export/home/cvs/apache-1.3/src/main/http_protocol.c,v retrieving revision 1.184 retrieving revision 1.185 diff -u -r1.184 -r1.185 --- http_protocol.c 1998/02/02 22:33:33 1.184 +++ http_protocol.c 1998/02/04 21:23:33 1.185 @@ -773,13 +773,16 @@ request_rec *read_request(conn_rec *conn) { - request_rec *r = (request_rec *) pcalloc(conn->pool, sizeof(request_rec)); + request_rec *r; int access_status; + pool *p; + p = make_sub_pool(conn->pool); + r = pcalloc(p, sizeof(request_rec)); + r->pool = p; r->connection = conn; conn->server = conn->base_server; r->server = conn->server; - r->pool = make_sub_pool(conn->pool); conn->keptalive = conn->keepalive == 1; conn->keepalive = 0;