summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>1999-05-21 21:59:46 +0000
committerJarkko Hietaniemi <jhi@iki.fi>1999-05-21 21:59:46 +0000
commita32a45b66b48d4e07952978721dcf122197519a7 (patch)
tree8a636ce658103ba656bee55f83c8d385f6cf2dcb
parenta71cd7cdf387023b3454db0a31c91c286865db8f (diff)
downloadperl-a32a45b66b48d4e07952978721dcf122197519a7.tar.gz
fflush.
p4raw-id: //depot/cfgperl@3442
-rwxr-xr-xConfigure82
-rw-r--r--Porting/Glossary2
-rw-r--r--Porting/config.sh4
-rw-r--r--Porting/config_H4
-rw-r--r--config_h.SH2
5 files changed, 52 insertions, 42 deletions
diff --git a/Configure b/Configure
index eb93907f3c..83e41da710 100755
--- a/Configure
+++ b/Configure
@@ -20,7 +20,7 @@
# $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
#
-# Generated on Thu May 20 10:07:46 EET DST 1999 [metaconfig 3.0 PL70]
+# Generated on Sat May 22 00:54:37 EET DST 1999 [metaconfig 3.0 PL70]
# (with additional metaconfig patches by perlbug@perl.com)
cat >/tmp/c1$$ <<EOF
@@ -10975,7 +10975,7 @@ $cat >try.c <<EOCP
#include <stdio.h>
#$t_unistd I_UNISTD
#ifdef I_UNISTD
-#include <unistd.h>
+# include <unistd.h>
#endif
#$d_sysconf HAS_SYSCONF
#$d_stdio_stream_array HAS_STDIO_STREAM_ARRAY
@@ -11053,12 +11053,16 @@ case "$fflushNULL" in
'') set try -DTRY_FFLUSH_NULL $output
$rm -f try.out
if eval $compile; then
- $cat >&4 <<EOM
-(This test may fail, saying "Core dumped" or something equally evil.)
-EOM
./try$exe_ext 2>/dev/null
- if $test -s try.out -a "X$?" = X42; then
+ code="$?"
+ if $test -s try.out -a "X$code" = X42; then
fflushNULL="`$cat try.out`"
+ else
+ if $test "X$code" != X42; then
+ $cat >&4 <<EOM
+(If this test failed, don't worry, we'll try another method shortly.)
+EOM
+ fi
fi
fi
$rm -f core try.core core.try.*
@@ -11088,51 +11092,51 @@ $define|true|[yY]*)
fflushNULL="$undef"
;;
esac
-: check for fflush all behaviour
-case "$fflushall" in
-'') set try -DTRY_FFLUSH_ALL $output
- $rm -f try.out
- if eval $compile; then
+: check explicit looping only if NULL did not work
+case "$fflushNULL" in
+"$undef")
+ : check for fflush all behaviour
+ case "$fflushall" in
+ '') set try -DTRY_FFLUSH_ALL $output
+ $rm -f try.out
+ if eval $compile; then
$cat >&4 <<EOM
-(Also this test may fail.)
+(Now testing the other method--but note that also this may fail.)
EOM
- ./try$exe_ext 2>/dev/null
- if $test -s try.out -a "X$?" = X42; then
- fflushall="`$cat try.out`"
+ ./try$exe_ext 2>/dev/null
+ if $test -s try.out -a "X$?" = X42; then
+ fflushall="`$cat try.out`"
+ fi
fi
- fi
- $rm -f core try.core core.try.*
- case "$fflushall" in
- x) $cat >&4 <<EOM
-Flushing explicitly all the stdio streams works.
+ $rm -f core try.core core.try.*
+ case "$fflushall" in
+ x) $cat >&4 <<EOM
+Whew. Flushing explicitly all the stdio streams works.
EOM
- fflushall="$define"
- ;;
- '') $cat >&4 <<EOM
-Flushing explicitly all the stdio streams doesn't work.
+ fflushall="$define"
+ ;;
+ '') $cat >&4 <<EOM
+Sigh. Flushing explicitly all the stdio streams doesn't work.
EOM
- fflushall="$undef"
- ;;
- *) $cat >&4 <<EOM
+ fflushall="$undef"
+ ;;
+ *) $cat >&4 <<EOM
Cannot figure out whether flushing stdio streams explicitly works or not.
I'm assuming it doesn't.
EOM
- fflushall="$undef"
+ fflushall="$undef"
+ ;;
+ esac
;;
- esac
- case "$fflushall$fflushNULL" in
- undefdefine)
- $cat >&4 <<EOM
-(That's ok. I'll use fflush(NULL) instead.)
-EOM
+ "$define"|true|[yY]*)
+ fflushall="$define"
+ ;;
+ *)
+ fflushall="$undef"
;;
esac
;;
-$define|true|[yY]*)
- fflushall="$define"
- ;;
-*)
- fflushall="$undef"
+*) fflushall="$undef"
;;
esac
case "$fflushNULL$fflushall" in
diff --git a/Porting/Glossary b/Porting/Glossary
index 070027b991..8256ea8375 100644
--- a/Porting/Glossary
+++ b/Porting/Glossary
@@ -1659,6 +1659,8 @@ fflushall (fflushall.U):
This symbol, if defined, tells that to flush
all pending stdio output one must loop through all
the stdio file handles stored in an array and fflush them.
+ Note that if fflushNULL is defined, fflushall will not
+ even be probed for and will be left undefined.
fflushNULL (fflushall.U):
This symbol, if defined, tells that fflush(NULL) does flush
diff --git a/Porting/config.sh b/Porting/config.sh
index fc3bacf1d3..f9e944729a 100644
--- a/Porting/config.sh
+++ b/Porting/config.sh
@@ -8,7 +8,7 @@
# Package name : perl5
# Source directory : .
-# Configuration time: Thu May 20 09:56:03 EET DST 1999
+# Configuration time: Sat May 22 00:43:12 EET DST 1999
# Configured by : jhi
# Target system : osf1 alpha.hut.fi v4.0 878 alpha
@@ -55,7 +55,7 @@ ccflags='-pthread -std -DLANGUAGE_C'
ccsymbols='__LANGUAGE_C__=1 _LONGLONG=1 LANGUAGE_C=1 SYSTYPE_BSD=1'
cf_by='jhi'
cf_email='yourname@yourhost.yourplace.com'
-cf_time='Thu May 20 09:56:03 EET DST 1999'
+cf_time='Sat May 22 00:43:12 EET DST 1999'
chgrp=''
chmod=''
chown=''
diff --git a/Porting/config_H b/Porting/config_H
index 135308adf9..e215393dae 100644
--- a/Porting/config_H
+++ b/Porting/config_H
@@ -17,7 +17,7 @@
/*
* Package name : perl5
* Source directory : .
- * Configuration time: Thu May 20 09:56:03 EET DST 1999
+ * Configuration time: Sat May 22 00:43:12 EET DST 1999
* Configured by : jhi
* Target system : osf1 alpha.hut.fi v4.0 878 alpha
*/
@@ -2213,6 +2213,8 @@
* This symbol, if defined, tells that to flush
* all pending stdio output one must loop through all
* the stdio file handles stored in an array and fflush them.
+ * Note that if fflushNULL is defined, fflushall will not
+ * even be probed for and will be left undefined.
*/
#define FFLUSH_NULL /**/
/*#define FFLUSH_ALL / **/
diff --git a/config_h.SH b/config_h.SH
index ae4ba196d6..97f084e35c 100644
--- a/config_h.SH
+++ b/config_h.SH
@@ -2227,6 +2227,8 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
* This symbol, if defined, tells that to flush
* all pending stdio output one must loop through all
* the stdio file handles stored in an array and fflush them.
+ * Note that if fflushNULL is defined, fflushall will not
+ * even be probed for and will be left undefined.
*/
#$fflushNULL FFLUSH_NULL /**/
#$fflushall FFLUSH_ALL /**/