GTKでGTKのシグナルではなく、OSのシグナルを使いたいのですが、
gtk_main()が内部処理をしている間にシグナルを受信してしまうと、ディスプレイへの描画が停止し最終的にはプログラムが落ちます。
これをどうにかしたいのですが、いい方法はないでしょうか?
開発はCで行っています。
ちなみやりたいことは、
外部プロセスにて画像データを共有メモリに配置して、シグナルを受信した時にその共有メモリからデータを取得し、表示したいです。
現状では、平均で40秒ぐらいは動作しますが内部処理中にシグナルを受信すると止まってしまう様です。
ご教授願います。
No.2ベストアンサー
- 回答日時:
御存知でしょうが、sigaction() とか signal() のハンドラ内で安全に使えるシステムコールは一部のみです。
まあ OS にも依るのですが、なので一般的にハンドラではフラグ立てするなどの最小限の処理に留め、実際の処理本体は安全はタイミングで実行するのがいいです。あと案外ありえるのがハンドラ内で errno 壊してるとかいうケアレスミス。コードレビューしてても時々見掛けます。
No.1
- 回答日時:
プログラムの構成が良くわかりませんので、的外れかもしれませんが、
1.gtk_main()の呼び出しの前に、今回のシグナルのマスクをする
2.gtk_main()の呼び出し
3.今回のシグナルのマスクの解除
4.今回のシグナルの処理
では、だめなのでしょうか。
上記のようにすることにより、
gtk_main()の実行中は、今回のシグナルを受けても、それをガードできます。
ご回答ありがとうございます。
gtk_main()中にシグナルを受けないようにしてしまうと意味がありません。
質問文読みにくくてすみません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- SEO Googleアナリティクスでの設定について 1 2023/07/12 09:07
- FX・外国為替取引 ダウ理論の転換に関するインジケーター 1 2022/11/05 06:35
- Windows Me・NT・2000 教えてほしいです! ガレリアPCを使用してます。 最近、起動してから少し経つと画面が暗くなりシグナル 1 2022/04/28 11:27
- ノートパソコン ハードディスクが壊れたPCのオークションへの出品の仕方を教えてください 9 2022/11/16 08:13
- ドラマ 韓国ドラマ『シグナル』はフランス留学中に失踪した黒崎愛海さんの事件を伏線に構成されたドラマなの? 1 2022/06/03 23:52
- FX・外国為替取引 よくTwitterで、個人の人が売買シグナル配信やっていたりします。 LINEグループに入るとXMの 1 2022/06/01 10:44
- 医学 「共刺激シグナルがないとT細胞は( )になってしまう。」この穴埋めを教えて下さい! 4 2022/06/20 15:11
- Wi-Fi・無線LAN PCWi-Fiの設定方法がわからなくて困っています。 4 2022/12/28 18:30
- 生物学 大至急お願いします。 レポート課題について質問です。参考程度にしたいです。 1. 遺伝子という言葉の 4 2023/01/20 14:55
- その他(パソコン・周辺機器) Windowsマシン。USBタップの「自動切れ、再接続」がうざい。解決策は? 7 2023/01/25 08:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【C#/Java?】try-catchでcatch...
-
private subモジュールを他のモ...
-
IF文に時間(何時から何時ま...
-
特定の名前のオートシェイプの...
-
vbaのエラー対応(実行時エラー...
-
【Vb.net】プリンタジョブの取得
-
マクロで、次のコードへ行く前...
-
COBOL OCCURSで指定したデータ...
-
【VBA】エラー処理で別プロシー...
-
シグナル 6(SIGABRT)とは?
-
RaiseEventのメリット
-
エクセルVBAでロックをかけたい
-
ExcelのVBAで、選択したファイ...
-
エクセル画面のちらつきなくす...
-
VBAでBook読み込み時の非表示方...
-
C# 指定時間(秒間)の間処理を...
-
ドリブン??
-
VB6.0で、ランタイムエラーを全...
-
VB6にてネットワーク上にある共...
-
VB6で定時刻処理
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【C#/Java?】try-catchでcatch...
-
private subモジュールを他のモ...
-
IF文に時間(何時から何時ま...
-
マクロで、次のコードへ行く前...
-
特定の名前のオートシェイプの...
-
シグナル 6(SIGABRT)とは?
-
特定のファイルを他のプロセス...
-
ExcelのVBAで、選択したファイ...
-
Excel VBA セルの名前があるか...
-
どう増強すべきか
-
Word VBA。各マクロの間に待ち...
-
【VBA】エラー処理で別プロシー...
-
UWSCのTHREADについて
-
シェルスクリプトでファイル内...
-
ドリブン??
-
Functionで戻り値を複数返す方法
-
iPhoneのニューラルエンジンっ...
-
エクセル VBAで複数セル選択時...
-
COBOL OCCURSで指定したデータ...
-
どうやってもFor文を抜けてしま...
おすすめ情報