C言語:ループ中のシグナルについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
自尊心

C言語:ループ中のシグナルについて

#1

投稿記事 by 自尊心 » 16年前

初投稿で、プログラミングの初心者です。
内容や態度についておかしな点がありましたら、指摘してください。

内容ですが、
ループを回している最中に SIGINT のシグナルを送り、ハンドラでフラグを立て、それによってループを抜けるようにしているのですが、ループが高速な為か、シグナルを受け取る際にループカウンタが進みすぎてしまうことがあります。
これに対する対策等はあるのでしょうか?

紅葉

Re:C言語:ループ中のシグナルについて

#2

投稿記事 by 紅葉 » 16年前

素人の意見で申し訳ないのですが
Sleep関数を使ってほんの少しでも遅らせてみてはどうでしょうか?

自尊心

Re:C言語:ループ中のシグナルについて

#3

投稿記事 by 自尊心 » 16年前

回答ありがとうございます。

しかし、ループをかなりの回数回す(10000以上)を想定しているので、できれば遅らせるようなことはしたくないのです。
他に方法はないでしょうか?

バグ

Re:C言語:ループ中のシグナルについて

#4

投稿記事 by バグ » 16年前

その方法では厳密に同期を取るのは難しいように思います。

閉鎖

“C言語何でも質問掲示板” へ戻る