open(FH, "+>>", undef) doesn't set O_APPEND #17058
Comments
From e@80x24.orgCreated by e@80x24.orgI love using open(FH, MODE, undef) to create unlinked temporary But I was surprised when using "+>>" as the MODE did not set I'm using this as a lazy write buffer for reading the output of Thanks for keeping Perl 5 alive! Perl Info
|
From @tonycozOn Sun, 23 Jun 2019 18:50:24 -0700, e@80x24.org wrote:
I've attached a partial solution, that works on Linux (and presumably other POSIX-ish systems) and Win32. From what I remember of a discussion with Craig back when working on the in-place editing re-work, the code currently guarded by !defined(VMS) should also work on VMS, except for the default to /tmp/. Tony |
The RT System itself - Status changed from 'new' to 'open' |
From e@80x24.orgTony Cook via RT <perlbug-followup@perl.org> wrote:
Thanks, I can confirm "+>>" works and sets O_APPEND with your However, there's a regression: "+>" (which previously worked and is documented) now fails ./perl -e 'open(my $fh, "+>", undef) or die "open: $!"' I couldn't even find the syscall being made via truss.
I have no clue about non-POSIX-ish stuff :x
|
From @tonycozOn Tue, 02 Jul 2019 00:18:35 -0700, e@80x24.org wrote:
Here's an updated patch. Tony |
From e@80x24.orgTony Cook via RT <perlbug-followup@perl.org> wrote:
Looks good and confirmed both "+>" and "+>>" via truss output on |
From @tonycozOn Tue, 02 Jul 2019 18:34:26 -0700, e@80x24.org wrote:
Craig helped me out with the VMS support. So: ae73d7e append mode for POSIX-like systems Tony |
@tonycoz - Status changed from 'open' to 'pending release' |
From @steve-m-hayUnfortunately, this has broken VC++ builds on Windows (at least VC6 thru VC2015) - there is no O_ACCMODE here. |
Migrated from rt.perl.org#134221 (status was 'pending release')
Searchable as RT134221$
The text was updated successfully, but these errors were encountered: