近永さんありがとうございます。
r33753 でなおしておきました。

2011年11月15日1:41 KOSAKI Motohiro <kosaki.motohiro / gmail.com>:
> 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のテストが全然ないから追加したんだけど、ポータブルに動きそうなコマンドって
> 難しいのよねえ・・
>
>