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

[FDclone-users:00088] Re: AIX でのコンパイルエラーについて



 しらいです。

In Message-Id <03Feb5.204112jst.119048@inetgw.lightwell.co.jp>
        SHIOTA Shoichi <Shoichi.Shiota@lightwell.co.jp>さんwrites:
> 潮田です。

> >  fdsh でも同じ症状になりますか?また、「make sh」で作成され
> > る fdsh でも同じでしょうか?「make sh」の fdsh 辺りで再現す
> > るようだと、かなり範囲が絞り込めると思いますので、一度調べて
> > みて下さい。
> えーと、 fdsh って名前からすると shell のようですが、
> どのあたりを調べればよいでしょう。

 普通に ls や cat 等の外部コマンドを実行するだけで再現出来
ると思います。


> (FreeBSD の ports で FDclone が shell にいる理由も
> 知らなかったりします。あくまでファイラーと信じています。)

 本来、「shell(殻)」とは実行ファイルを起動するためのユーザ
への緩衝剤のことですよね。直接扱うと不便なので殻にくるんで用
いる訳です。
 ですから、その役目を果たすものであれば command line shell
でなくても shell です。例えば Windows だとデスクトップそのも
のが shell です。(実体は Explorer ですが。)
 FDclone は file browser であるだけでなく、各種実行ファイル
の launcher として働きますので、その部分が shell になります。
しかも sh や csh 等の他の shell の手を借りることなく起動して
いますから、純然たる shell です。


> とりあえず、
> 自分でコンパイルした tcsh 上で
> $ ./fdsh
> $ ps
>    PID    TTY  TIME CMD
>  27998 pts/19  0:00 ps
>  38026 pts/19  0:00 -tcsh
>  54704 pts/19  0:00 ./fdsh
> Illegal instruction

 shell の機能だけ取り出しても同じ症状が出るということで、こ
れで fork() & exec() 周りに原因があることが確定されたと思い
ます。
 後は job control のどこで落ちているかですね。JOBVERBOSE を
有効にして trace しながら実行すると少しは判るかな。同じこと
を小島さんもやってる筈なので、もう少し待ってみましょう。

# posixsh.c に gettermio() という関数があります。こいつが
#どうも怪しいような気がするので、この冒頭に「return(0);」で
#いきなり終わってしまうような追加行を入れると症状が収まるか
#も知れません。
# 但し、その場合は起動された実行ファイルが端末を持たなくな
#ってしまうので、端末入出力の全くない実行ファイルで確認する
#必要がありますね。/bin/sleep とか。
# ひょっとしたら、ps の代わりに sleep で試したら、上のケー
#スでも支障なく終了したりします?

                                               しらい たかし