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

Re: [bep]Linuxスピーチサーバ(Re: [bep] [FAQ]coreを作らないには?)




中村 のりつぐ です。

In article <861ypb7051.fsf@windy.src.argv.org> 
Koichi INOUE <inoue@...> wrote:
> > ssqueue.cpp の ss_queue::pop() の中で pthread_t th;
> > として pthread_create(&th, NULL, dt_speak, (void *)wArg);
> > していますが、pop を抜けたら th って消えちゃわないのでしょうか?
> 
> thにはpthread_create()で作成されたスレッドのスレッドIDが帰ってくるのです
> が、今はこれを後から使っていないため、捨てても大丈夫かなと思って関数のロー
> カル変数になってます。
> スレッドの実行中にこの変数の領域に再び読み書きしようとすることもないだろ
> うと思うので。

なるほど。ためしに th を global にしてみたのですが、
やっぱり落ち方は変わりませんでした(悲)。


試した範囲ですと、dt_speak() の中で「音声合成ライブラリー」を
呼ばなくても、ちょっと重い処理(english to kana)をさせると
落ちやすいような感じでした。

結局 理由や再現性は全くつかめませんでした。
今度小さなサンプルプログラムを作って試して
みようと思います。

       中村 典嗣  E-mail:     nnakamur@...