summaryrefslogtreecommitdiff
path: root/perl.h
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>1999-05-09 22:47:39 +0000
committerGurusamy Sarathy <gsar@cpan.org>1999-05-09 22:47:39 +0000
commit45bc920620377d5a7720d3d562c48df1eb0c2e68 (patch)
treeddf80cf0881964ffc19fe3b1f195ebfb7cc09284 /perl.h
parent46a8855a50eb32c89dd161fbf5c3956ca0e452d8 (diff)
downloadperl-45bc920620377d5a7720d3d562c48df1eb0c2e68.tar.gz
flush all open output buffers before fork(), exec(), system, qx//
and pipe open() operations, simplifying buffering headaches faced by users; uses fflush(NULL), which may need Configure test p4raw-id: //depot/perl@3352
Diffstat (limited to 'perl.h')
-rw-r--r--perl.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/perl.h b/perl.h
index 8f5082c011..febcdf43c8 100644
--- a/perl.h
+++ b/perl.h
@@ -1449,6 +1449,14 @@ typedef pthread_key_t perl_key;
# define STATUS_ALL_FAILURE (PL_statusvalue = 1)
#endif
+/* This defines a way to flush all output buffers. This may be a
+ * performance issue, so we allow people to disable it.
+ * XXX the default needs a Configure test, as it may not work everywhere.
+ */
+#ifndef PERL_FLUSHALL_FOR_CHILD
+#define PERL_FLUSHALL_FOR_CHILD PerlIO_flush((PerlIO*)NULL)
+#endif
+
/* Some unistd.h's give a prototype for pause() even though
HAS_PAUSE ends up undefined. This causes the #define
below to be rejected by the compmiler. Sigh.