#windows #winapi #unix
#Windows #winapi #unix
Вопрос:
Я пишу код на C , используя Win32 API везде, где это необходимо. Я хочу выполнить следующее. Когда происходит определенное событие, я хочу установить alarm()
или запустить таймер, который будет посылать SIGALRM
сигнал процессу через 1 секунду. Процесс должен продолжиться после установки аварийного сигнала. Может случиться так, что мне, возможно, придется отменить сигнал тревоги (или остановить таймер), если будут выполнены определенные условия. Какие системные вызовы могут помочь мне сделать это?
Ответ №1:
Псевдокод:
// to create a waitable, signallable object
HANDLE myHandle = CreateEvent
// to wait for 1000ms
WaitForSingleObject(1000L)
// to interrupt the wait - check return code on WaitForSingleObject for timeout vs signal
SetEvent(myHandle)
Документы для CreateEvent должны помочь вам начать.
Ответ №2:
timeSetEvent
и timeKillEvent
позволяют использовать ту же функциональность в Windows