Сигналы в Windows

#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