追ってくと、IOなんて根底のモジュールに原因がある事が分かった。原因っていうかエラーが出るように仕込んであった。
以下パッチ作ってオフィシャルにメールした。
--- IO.xs.orig 2006-03-26 11:27:13.000000000 +0900
+++ IO.xs 2009-02-24 20:16:34.921875000 +0900
@@ -121,7 +121,12 @@
}
return RETVAL;
#else
+# ifdef WIN32
+ unsigned long flags = block;
+ return ioctl(PerlIO_fileno(f), FIONBIO, &flags);
+# else
return -1;
+# endif
#endif
}
もしかしたらFAQなpatchで蹴られるだろうけど...追記 2009/02/26
patchがマージされました。