2011年11月14日11:25 Tomoyuki Chikanaga <nagachika00 / gmail.com>:
>
> Issue #5429 has been updated by Tomoyuki Chikanaga.
>
>
> あいざわさんのパッチだと、Tempfile.new がブロックを yield しないので、assert を通っていないだけのようです。
>
> SnowLeopard の man fcntl によると
>
>     [EINVAL]           Cmd is F_DUPFD and arg is negative or greater than the maximum allowable number (see getdtablesize(2)).
>
> で getdtablesize() は 256 を返すのでとりあえず 500 -> 255 にすると通るようになりました。
> 500 というのは他の open 済みの fd と重複しない程度に大きな数字ということだと思うので、とりあえず 255 にしてしまってもいいでしょうか。ちゃんと空き fd を確保してそこに dup するようにしたほうがいいのかもしれませんが。

うーん、あんまり凝ったことをするとまた別のOSの制限にひっかかるかもしれないので
255でお願いできるとうれしいなあ。
fcntlのテストが全然ないから追加したんだけど、ポータブルに動きそうなコマンドって
難しいのよねえ・・