[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[FDclone-users:00088] Re: AIX でのコンパイルエラーについて
- Subject: [FDclone-users:00088] Re: AIX でのコンパイルエラーについて
- From: Takashi SHIRAI <shirai@unixusers.net>
- Date: Wed, 05 Feb 2003 22:49:05 +0900
しらいです。
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 で試したら、上のケー
#スでも支障なく終了したりします?
しらい たかし