On Tue, Nov 18, 2008 at 09:50:44AM -0000, Steve Hay wrote:
> Nicholas Clark wrote:
> > On Win32 both POSIX::O_NONBLOCK and POSIX::O_SYNC are actually
> > subroutines that croak() with a "not defined" if you call them?
>
> Yes, I think so:
>
> C:\p5p\bleadperl>.\perl -MPOSIX -e "POSIX::O_NONBLOCK()"
> Your vendor has not defined Fcntl macro O_NONBLOCK, used at -e line 1.
>
> C:\p5p\bleadperl>.\perl -MPOSIX -e "POSIX::O_SYNC()"
> O_SYNC is not a valid POSIX macro at -e line 1
>
>
> > If "yes" - can you suggest two Fcntl constants re-exported by POSIX
> > that are defined on Win32?
>
> These are all okay: O_APPEND, O_CREAT, O_EXCL, O_TRUNC.
Should be fixed with change 34909
Nicholas Clark
Change 34909 by nicholas@nicholas-saigo on 2008/11/25 15:48:04
Tweak the constants used in testing to constants that Win32 also has.
Affected files ...
... //depot/perl/ext/B/t/deparse.t#44 edit
Differences ...
==== //depot/perl/ext/B/t/deparse.t#44 (text) ====
@@ -157,8 +157,8 @@
use constant GLIPP => 'glipp';
use constant PI => 4;
use constant OVERLOADED_NUMIFICATION => bless({}, 'Moo');
-use Fcntl qw/O_NONBLOCK O_SYNC O_EXCL/;
-BEGIN { delete $::Fcntl::{O_SYNC}; }
+use Fcntl qw/O_EXCL O_APPEND O_EXCL/;
+BEGIN { delete $::Fcntl::{O_APPEND}; }
use POSIX qw/O_CREAT/;
sub test {
my $val = shift;
@@ -565,13 +565,13 @@
warn PI;
####
# 63 tests for deparsing imported constants
-warn O_NONBLOCK;
+warn O_EXCL;
####
# 64 tests for deparsing re-exported constants
warn O_CREAT;
####
# 65 tests for deparsing imported constants that got deleted from the original namespace
-warn O_SYNC;
+warn O_APPEND;
####
# SKIP ? $Config::Config{useithreads} && "TODO doesn't work with threads"
# 66 tests for deparsing constants which got turned into full typeglobs
Thread Previous
|
Thread Next