[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[FDclone-users:00949] Re: ツリーで移動中にSEGV



 しらいです。

In Message-Id <20120310184301.7301687C001@yuka.unixusers.net>
        Takashi SHIRAI <shirai@unixusers.net>writes:
>  しらいです。

>  確かに FD-3.00j の release 時には動いていたのですが、その
> 後の version up により、現在の最新版 1.7.11 では幾分支障があ
> るようです。

 一部のみですが自己解決しました。


> 1.tcsetpgrp() が freeze する。
> 2.子 process に制御端末を渡せない。

 この二つですが、実は tcsetpgrp() は正常に機能していました。
ioctl() で TIOCSPGRP request を使っていたのがまずかったよう
で、tcsetpgrp() に置換えたら動きました。
 glibc でも tcsetpgrp() は単なる ioctl() のラッパなんですが、
Cygwin では何か特殊な処理をしてるんでしょうかね。ioctl() の
方だと freeze したり EINVAL 返したりと全く機能しません。

 termcap の件と言い、こうして次々と legacy interface を駆逐
していくつもりなんでしょうか。それならそれでどこかで言及して
おいて欲しいものです。


>  出力の方も時折 block されるので、コマンドプロンプト以外の
> 端末を使う場合は適宜何かキー入力をして、出力を促してやる必要
> があります。
>  多分全然使いものにならないので、標準の cygwin.bat を使って
> コマンドプロンプト上の bash を起動して下さい。

 ということで、回避不能な支障はこれのみになりました。けど、
O_NONBLOCK も効かないので状況はさっぱりです。取り敢えず、次
の release は 1.7.11 ではなく 1.7.9 対応ということで出します。

                                               しらい たかし