summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>1999-09-17 18:19:18 +0000
committerJarkko Hietaniemi <jhi@iki.fi>1999-09-17 18:19:18 +0000
commitb7a02c4fb533bb0a7ae92f82a4a660045d95669a (patch)
tree017d379de23c311d7ea065b5f6b2aa79256e6902
parentbba8fca5dea99a6a21e43014678ed58e9acc2691 (diff)
downloadperl-b7a02c4fb533bb0a7ae92f82a4a660045d95669a.tar.gz
Take away the infamous io/dup.t #7.
It seems there simply is no way to portably "flush" an input file handle. p4raw-id: //depot/cfgperl@4176
-rw-r--r--doio.c11
-rwxr-xr-xt/io/dup.t15
2 files changed, 2 insertions, 24 deletions
diff --git a/doio.c b/doio.c
index 0b1cdd1ec4..793b54059c 100644
--- a/doio.c
+++ b/doio.c
@@ -283,17 +283,8 @@ Perl_do_open9(pTHX_ GV *gv, register char *name, I32 len, int as_raw,
}
if (IoIFP(thatio)) {
PerlIO *fp = IoIFP(thatio);
- /* Flush stdio buffer before dup. --mjd
- * Unfortunately SEEK_CURing 0 seems to
- * be optimized away on most platforms;
- * only Solaris and Linux seem to flush
- * on that. --jhi */
+ /* Flush stdio buffer before dup */
PerlIO_seek(fp, 0, SEEK_CUR);
- /* On the other hand, do all platforms
- * take gracefully to flushing a read-only
- * filehandle? Perhaps we should do
- * fsetpos(src)+fgetpos(dst)? --nik */
- PerlIO_flush(fp);
fd = PerlIO_fileno(fp);
if (IoTYPE(thatio) == 's')
IoTYPE(io) = 's';
diff --git a/t/io/dup.t b/t/io/dup.t
index 9ad823fff7..af13d4d8f7 100755
--- a/t/io/dup.t
+++ b/t/io/dup.t
@@ -2,7 +2,7 @@
# $RCSfile: dup.t,v $$Revision: 4.1 $$Date: 92/08/07 18:27:27 $
-print "1..7\n";
+print "1..6\n";
print "ok 1\n";
@@ -38,16 +38,3 @@ unlink 'Io.dup';
print STDOUT "ok 6\n";
-# 7 # 19990811 mjd@plover.com
-my ($out1, $out2) = ("Line 1\n", "Line 2\n");
-open(W, "> Io.dup") || die "Can't open stdout";
-print W $out1, $out2;
-close W;
-open(R1, "< Io.dup") || die "Can't read temp file";
-$in1 = <R1>;
-open(R2, "<&R1") || die "Can't dup";
-$in2 = <R2>;
-print "not " unless $in1 eq $out1 && $in2 eq $out2;
-print "ok 7\n";
-
-unlink("Io.dup");