[過去ログ] マルチスレッドプログラミング相談室 (986レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
50
(4): 01/08/29 23:03 ID:ufAQmXP2(1) AAS
signal()でSIGALRMを補足して関数を実行させる事を
マルチスレッドで行いたいのですが、うまくいきません。
スレッドではなくプロセスが補足してしまうからなのですが
これをスレッド毎に行う良い方法は無いでしょうか?
できれば参考となるソースが読みたいのですが
なかなかありません。
51
(2): 01/08/30 00:01 ID:C3TsWUik(1/2) AAS
>>50
OSは?thread libraryは何か分かる?
53
(1): 50 01/08/30 08:25 ID:ZcipkBQk(1) AAS
>>51
OSはLinuxで、thread libraryは、POSIX.1c
です。
54
(1): 01/08/30 14:00 ID:C3TsWUik(2/2) AAS
>>53
> OSはLinuxで、thread libraryは、POSIX.1cです。

linuxthreadsなのかな?
linuxthreadsは、規約にあってないところがあって、それが>>50とも関連していると思います。
詳しくはREADMEをの最後の辺りを読んでください。>>26も。

それから、この制限はlinuxthreads自体に由来するのではなく、
clone(2)自体に由来しますから、他のthread libraryを使っても駄目です。
close(2)を使わないuser level threadであるpmpthreadsも芳しくありません。
57
(1): 50 01/08/31 20:34 ID:rIUxoozo(1) AAS
>>51
>>54
>>55
>>56
返事遅くなりました。
情報どうもです。なるほど〜、やっぱりマルチスレッドでの
シグナルは難しいしバグの温床にもなりやすいので
やらんほうがいいわけですね。私もあの後いろいろ
本を調べてみたのですが、シグナルハンドラ用のスレッド
を別途設けて他スレッドからのシグナルを全てその専用
スレッドで取り扱うようにするのが一般的みたいですね。
この場合不思議なのは、どのスレッドから発せられた
シグナルかを区別しないといけない場合どうやって区別
するのかということです。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.050s