summaryrefslogtreecommitdiff
path: root/doio.c
diff options
context:
space:
mode:
authorMark-Jason Dominus <mjd@plover.com>1999-08-11 11:56:09 -0400
committerJarkko Hietaniemi <jhi@iki.fi>1999-08-11 22:17:55 +0000
commit54195c32bb1734df4d96f8aca2d65e155aa0b341 (patch)
tree4370ca8c88fcdb3c26a278c3beca2afb7fe545bf /doio.c
parenta5da935345a673c66c903bfd517404de47f816e1 (diff)
downloadperl-54195c32bb1734df4d96f8aca2d65e155aa0b341.tar.gz
Flush buffer before duplicating file descriptor.
To: Graham Barr <gbarr@pobox.com> cc: Vicki Brown <vlb@cfcl.com>, perl5-porters@perl.org, mjd@plover.com Subject: Re: [ID 19990811.002] can't dup DATA? (PATCH (5.005_57)) Date: Wed, 11 Aug 1999 15:56:09 -0400 Message-ID: <19990811195610.5933.qmail@plover.com> From: Mark-Jason Dominus <mjd@plover.com> To: perl5-porters@perl.org Subject: Re: [ID 19990811.002] can't dup DATA? (PATCH (5.005_57)) Date: Wed, 11 Aug 1999 16:05:46 -0400 Message-ID: <19990811200546.6165.qmail@plover.com> p4raw-id: //depot/cfgperl@3960
Diffstat (limited to 'doio.c')
-rw-r--r--doio.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/doio.c b/doio.c
index cc347331a2..a953d54dd2 100644
--- a/doio.c
+++ b/doio.c
@@ -282,7 +282,10 @@ Perl_do_open9(pTHX_ GV *gv, register char *name, I32 len, int as_raw,
goto say_false;
}
if (IoIFP(thatio)) {
- fd = PerlIO_fileno(IoIFP(thatio));
+ PerlIO *fp = IoIFP(thatio);
+ /* Flush stdio buffer before dup */
+ PerlIO_seek(fp, 0, SEEK_CUR);
+ fd = PerlIO_fileno(fp);
if (IoTYPE(thatio) == 's')
IoTYPE(io) = 's';
}