Linux сигналы с дополнительным информационным параметром - PullRequest
0 голосов
/ 23 декабря 2010

Я должен был получить некоторую дополнительную информацию в обратном вызове обработчика sa_sigaction, это не представляется возможным.

Так что мне было интересно, не могли бы вы предложить мне альтернативы. Основные требования:

  1. Функция A генерирует сигнал / событие с указателем на структуру
  2. Функция обработчика обрабатывает событие.
  3. Функция-обработчик вызывается только для события, и цикл для ожидания события, как в select (), нежелателен.

1 Ответ

1 голос
/ 10 января 2011

как это?

    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);

Внимание !: передача по ссылке может не работать между различными адресными пространствами / процессами (я сам этого еще не проверял), поэтому сначала проверьте это между потоками одного и того же процесса ....

удачи: -)

...