Salut tlm,

J'ai un code win32 à porter sur linux. Ds le code il a des timers avec les des waitables timers de l'api win32. Qqun pourrait me dire sil ya un equivalent de ces timers sur linux (eventuellement des fcts createwaitbletimer etc..) ? comment lancer un timer non bloquant et le reseter ?


Voila un bout de code ou ya les timers :
Code c : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 
VOID APIENTRY DLMSi_TimerITO(PVOID lpArg, DWORD dwTL, DWORD dwTH)
{
  /* Corps du thread */
 
 }
 
 
DWORD WINAPI DLMSi_ITOThread(LPVOID pParam) // thread timer
{
  LARGE_INTEGER li;
  LONG          lPeriod;
  DWORD         wMsg;
 
  lPeriod       = 60000;
  li.QuadPart   = -(LONGLONG)lPeriod * 10000;
 
 
  DLMS_mEventRecv = CreateEvent(NULL,TRUE,FALSE,NULL);
 
  DLMS_mTimerITO = CreateWaitableTimer(NULL,TRUE,NULL);
 
  SetWaitableTimer(DLMS_mTimerITO,&li,lPeriod,DLMSi_TimerITO,NULL,FALSE);
 
  for(;;)
  {
    wMsg = WaitForSingleObject(DLMS_mEventRecv,INFINITE);
 
    if(wMsg == WAIT_OBJECT_0)
    {
          //Do Something puis restart timer
 
   / * Restart Timer*/
      li.QuadPart   = -(LONGLONG)lPeriod * 10000;
      SetWaitableTimer(DLMS_mTimer,&li,lPeriod,DLMSi_TimerITO,NULL,FALSE);
    }
 
    SleepEx(1,TRUE);
  }
}


Comment faire sur linux pour avoir ce genre de fonctionalité a savoir un timer quon pourra reseter.


Je suis nveau sur linux et toute aide sera la bienvenue,
Merci d'avance,