# 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' || $^O eq 'freebsd') {
+# "close during print" also hangs on Solaris 8 (but not 10 or 11).
+#
+# Also skip on release builds, to avoid other possibly problematic
+# platforms
+
+my ($osmajmin) = $Config{osvers} =~ /^(\d+\.\d+)/;
+if ($^O eq 'VMS' || $^O eq 'MSWin32' || $^O eq 'cygwin' || $^O =~ /freebsd/ || $^O eq 'midnightbsd' ||
+ ($^O eq 'solaris' && $Config{osvers} eq '2.8') || $^O eq 'nto' ||
+ ($^O eq 'darwin' && $osmajmin < 9) ||
+ ((int($]*1000) & 1) == 0)
+) {
skip_all('various portability issues');
exit 0;
}