Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: ModPerl: Embperl-cvs

svn commit: r1154283 - in /perl/embperl/trunk: epdat2.h epio.c

 

 

ModPerl embperl-cvs RSS feed   Index | Next | Previous | View Threaded


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

ModPerl embperl-cvs RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.