問題タブ [sigaction]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
902 参照

c - sigaction を複数回使用した際のエラー

子プロセスが終了するたびに関数を呼び出そうとしています。これは、execve() によって送信された SIGCHLD をキャッチすることによって行われます。ここでの問題は、ハンドラー関数が常に 2 回呼び出されるとは限らないことです。たまにあるのでちょっと戸惑います。

私のコードはこれです:

実行しようとすると、結果が次のようになることがあります。

どちらが正しいようです。しかし、他の場合、私の結果は次のとおりです。

これは、sigaction が常に SIGCHLD シグナルを受信して​​いるとは限らないと私に思わせます。valgrind を実行すると、次のエラーが表示されます。

しかし、これが何を意味するのかわかりません。

0 投票する
1 に答える
594 参照

c - sigaction ハンドラーのコンテキストが void ポインターであるのはなぜですか?

マニュアルsigaction(2)ページ:

void *マニュアルページに a と記載されているのに、なぜ ucontextが a なのucontext_t *ですか?

0 投票する
1 に答える
5581 参照

c++ - C++ から sigaction を呼び出す方法

C で (signal.h を使用して) 使用する方法は知っていますが、<csignal>ライブラリは C++ で提供されており、sigaction が含まれているかどうかを知りたいですか? 実行してみましたが、見つかりませんでした。私は何か間違ったことをしたのだろうか?

しかし、何らかの理由で機能しません。編集:「機能しない」とは、コンパイラが失敗し、std::sigaction 関数または構造体がないことを意味します。

sigaction は C POSIX ですね。