diff options
author | Craig A. Berry <craigberry@mac.com> | 2011-03-11 17:00:46 -0600 |
---|---|---|
committer | Craig A. Berry <craigberry@mac.com> | 2011-03-11 18:01:12 -0600 |
commit | c81114d2b6e9ca2fa098dbdac89edfaca24540f9 (patch) | |
tree | f6889cf665ece7ce4303d854d1ff3671a7134345 /t/io | |
parent | 8567041cf58773c5e66c77659b993b81515bd622 (diff) | |
download | perl-c81114d2b6e9ca2fa098dbdac89edfaca24540f9.tar.gz |
Skip eintr.t on FreeBSD (see perl #85842 and #84688).
It appears that a larger PerlIO buffer combined with writing to a
pipe triggers an alternate write mechanism in FreeBSD called a
direct write, which is not interruptible by signals. That's
somewhat speculative and has not been confirmed by someone with
knowledge of FreeBSD internals, but we do know the test hangs, so
it's best not to run it for now.
Diffstat (limited to 't/io')
-rw-r--r-- | t/io/eintr.t | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/t/io/eintr.t b/t/io/eintr.t index a1d996675f..dc93660ca7 100644 --- a/t/io/eintr.t +++ b/t/io/eintr.t @@ -42,8 +42,10 @@ if (exists $ENV{PERLIO} && $ENV{PERLIO} =~ /stdio/ ) { # on Win32, alarm() won't interrupt the read/write call. # Similar issues with VMS. +# On FreeBSD, writes to pipes of 8192 bytes or more use a mechanism +# that is not interruptible (see perl #85842 and #84688). -if ($^O eq 'VMS' || $^O eq 'MSWin32' || $^O eq 'cygwin') { +if ($^O eq 'VMS' || $^O eq 'MSWin32' || $^O eq 'cygwin' || $^O eq 'freebsd') { skip_all('various portability issues'); exit 0; } |