
richter at apache
Aug 5, 2011, 9:05 AM
Post #1 of 1
(284 views)
Permalink
|
|
svn commit: r1154283 - in /perl/embperl/trunk: epdat2.h epio.c
|
|
Author: richter Date: Fri Aug 5 16:05:31 2011 New Revision: 1154283 URL: http://svn.apache.org/viewvc?rev=1154283&view=rev Log: Fix Output inside of Registry script for mod_perl 2.0.4+ Modified: perl/embperl/trunk/epdat2.h perl/embperl/trunk/epio.c Modified: perl/embperl/trunk/epdat2.h URL: http://svn.apache.org/viewvc/perl/embperl/trunk/epdat2.h?rev=1154283&r1=1154282&r2=1154283&view=diff ============================================================================== --- perl/embperl/trunk/epdat2.h (original) +++ perl/embperl/trunk/epdat2.h Fri Aug 5 16:05:31 2011 @@ -262,6 +262,7 @@ typedef struct tComponentOutput int nMarker ; /* Makers for rollback output */ FILEIO * ofd ; /* output file descriptor */ + int no_ofd_close ; /* do not close output file handle, because it's ownd by perl */ SV * ofdobj ; /* perl object that is tied to stdout, if any */ } tComponentOutput ; Modified: perl/embperl/trunk/epio.c URL: http://svn.apache.org/viewvc/perl/embperl/trunk/epio.c?rev=1154283&r1=1154282&r2=1154283&view=diff ============================================================================== --- perl/embperl/trunk/epio.c (original) +++ perl/embperl/trunk/epio.c Fri Aug 5 16:05:31 2011 @@ -69,6 +69,7 @@ #endif #define HANDLE_GV(name) gv_fetchpv(name, TRUE, SVt_PVIO) +//#define HANDLE_GV(name) gv_fetchpv(name, GV_ADD, SVt_PVIO) @@ -698,10 +699,11 @@ int OpenOutput (/*i/o*/ register req * r - if (r -> Component.pOutput -> ofd && r -> Component.pOutput -> ofd != PerlIO_stdoutF) + if (r -> Component.pOutput -> ofd && r -> Component.pOutput -> ofd != PerlIO_stdoutF && !r -> Component.pOutput -> no_ofd_close) PerlIO_close (r -> Component.pOutput -> ofd) ; r -> Component.pOutput -> ofd = NULL ; + r -> Component.pOutput -> no_ofd_close = 0 ; if (sFilename == NULL || *sFilename == '\0') { @@ -729,6 +731,13 @@ int OpenOutput (/*i/o*/ register req * r } return ok ; } + + r -> Component.pOutput -> ofd = IoOFP(GvIOn(handle)) ; + if (r -> Component.pOutput -> ofd) + { + r -> Component.pOutput -> no_ofd_close = 1 ; + return ok ; + } } r -> Component.pOutput -> ofd = PerlIO_stdoutF ; @@ -796,7 +805,7 @@ int CloseOutput (/*in*/ tReq * } #endif - if (pOutput -> ofd && pOutput -> ofd != PerlIO_stdoutF) + if (pOutput -> ofd && pOutput -> ofd != PerlIO_stdoutF && !pOutput -> no_ofd_close) PerlIO_close (pOutput -> ofd) ; pOutput -> ofd = NULL ; --------------------------------------------------------------------- To unsubscribe, e-mail: embperl-cvs-unsubscribe [at] perl For additional commands, e-mail: embperl-cvs-help [at] perl
|