0

sa_sigaction ハンドラーへのコールバックに追加情報が必要でしたが、それは不可能のようです。

そこで、代替案を教えていただけないでしょうか。基本要件:

  1. 関数 A は、構造体へのポインターを使用してシグナル/イベントを発生させます
  2. ハンドラー関数はイベントに取り組みます。
  3. ハンドラー関数はイベントでのみ呼び出され、 select() のようにイベントを待機するループは望ましくありません。
4

1 に答える 1

1

このような ?

    int sigqueue(pid_t to_pid, int signr, const union sigval pointer_or_int);

そして反対側:

   int signr=int sigwaitinfo(const sigset_t *set, siginfo_t *info);

警告!: 異なるアドレス/プロセス空間間では参照渡しが機能しない可能性があります (私はまだこれを自分でテストしていません)。そのため、最初に同じプロセスのスレッド間でこれをテストしてください....

幸運を :-)

于 2011-01-09T22:48:20.693 に答える