У меня есть приложение C с использованием опроса, чтобы дождаться некоторых данных.Как остановить опрос() от прерывания от определенного сигнала
В настоящее время я реализую остальную часть своего приложения в этом, и я использую прерывания по времени (SIGRTMIN). Как и ожидалось, poll() возвращается, если один из моих других таймеров перезвонит.
Как остановить опрос от этого? Я читаю много о ppoll(), но не знаю, как это использовать ... Могу ли я использовать это, чтобы эта функция не возвращалась при запуске события таймера?
(у меня нет никаких проблем с опроса задерживается несколько мс)
Используйте 'sigprocmask()' (или 'pthread_sigmask()', для многопоточной программы), чтобы найти текущую сигнальную маску 'sigaddset()' сигнал, который вы хотите заблокировать на время '[ p] poll() 'либо передать сигнальную маску на' ppoll() 'или' sigprocmask()/pthread_sigmask() 'перед вызовом' poll() 'и принять, что будет состояние гонки. – EOF