apr-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From traw...@apache.org
Subject cvs commit: apr/file_io/win32 pipe.c
Date Tue, 16 Oct 2001 12:21:53 GMT
trawick     01/10/16 05:21:53

  Modified:    .        CHANGES
               file_io/win32 pipe.c
  Log:
  The pipe creation code used by mod_cgi in Apache 2.0
  doesn't register cleanups for either the read or the
  write ends of the pipe - so file handles (and event handles
  for pipes with asynchronous I/O mode set) are never closed.
  The function in question is called apr_create_nt_pipe, and
  the following patch fixes this (see also apr_file_pipe_create).
  
  Submitted by:	Tim Costello <tim.costello@zcmgroup.com.au>
  Reviewed by:	Jeff Trawick
  
  Revision  Changes    Path
  1.171     +6 -0      apr/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /home/cvs/apr/CHANGES,v
  retrieving revision 1.170
  retrieving revision 1.171
  diff -u -r1.170 -r1.171
  --- CHANGES	2001/10/16 12:07:57	1.170
  +++ CHANGES	2001/10/16 12:21:52	1.171
  @@ -1,5 +1,11 @@
   Changes with APR b1  
   
  +  *) Fix a problem in the Win32 pipe creation code called by 
  +     apr_proc_create():  It didn't register cleanups for either the 
  +     read or the write ends of the pipe, so file handles (and event 
  +     handles for pipes with asynchronous I/O mode set) are never 
  +     closed.  [Tim Costello <tim.costello@zcmgroup.com.au>]
  +
     *) Add support for QNX 6.  [J.T. Conklin <jtc@acorntoolworks.com>]
   
     *) We now create exports.c and export_vars.h, which in turn create
  
  
  
  1.39      +4 -0      apr/file_io/win32/pipe.c
  
  Index: pipe.c
  ===================================================================
  RCS file: /home/cvs/apr/file_io/win32/pipe.c,v
  retrieving revision 1.38
  retrieving revision 1.39
  diff -u -r1.38 -r1.39
  --- pipe.c	2001/07/23 17:47:27	1.38
  +++ pipe.c	2001/10/16 12:21:53	1.39
  @@ -230,5 +230,9 @@
           }
       }
   
  +    apr_pool_cleanup_register((*in)->cntxt, (void *)(*in), file_cleanup,
  +                        apr_pool_cleanup_null);
  +    apr_pool_cleanup_register((*out)->cntxt, (void *)(*out), file_cleanup,
  +                        apr_pool_cleanup_null);
       return APR_SUCCESS;
   }
  
  
  

Mime
View raw message