
ben at hyperreal
May 8, 1996, 8:28 AM
Post #1 of 1
(79 views)
Permalink
|
|
cvs commit: apache/src buff.c buff.h
|
|
ben 96/05/08 08:28:22 Modified: src buff.c buff.h Log: Buffered file descriptors were not registered for cleanup. This caused an extremely obscure problem with CGI's that disconnect early. Fixed. Revision Changes Path 1.3 +4 -0 apache/src/buff.c Index: buff.c =================================================================== RCS file: /export/home/cvs/apache/src/buff.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C3 -r1.2 -r1.3 *** buff.c 1996/03/01 02:34:32 1.2 --- buff.c 1996/05/08 15:28:19 1.3 *************** *** 105,110 **** --- 105,111 ---- BUFF *fb; fb = palloc(p, sizeof(BUFF)); + fb->pool=p; fb->bufsiz = DEFAULT_BUFSIZE; fb->flags = flags & B_RDWR; *************** *** 135,140 **** --- 136,144 ---- { fb->fd = fd_out; fb->fd_in = fd_in; + note_cleanups_for_fd(fb->pool,fb->fd); + if(fb->fd != fb->fd_in) + note_cleanups_for_fd(fb->pool,fb->fd_in); } int 1.3 +3 -0 apache/src/buff.h Index: buff.h =================================================================== RCS file: /export/home/cvs/apache/src/buff.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C3 -r1.2 -r1.3 *** buff.h 1996/03/01 02:34:32 1.2 --- buff.h 1996/05/08 15:28:20 1.3 *************** *** 80,85 **** --- 80,88 ---- void (*error)(BUFF *fb, int op, void *data); void *error_data; long int bytes_sent; /* number of bytes actually written */ + + pool *pool; + /* could also put pointers to the basic I/O routines here */ int fd; /* the file descriptor */ int fd_in; /* input file descriptor, if different */
|