IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Waitable timers sur linux


Sujet :

Linux

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Waitable timers sur linux
    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,

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    ce n'est pas une question de Linux mais plus du langage...

    En C, tu as par exemple setitimer...

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci souviron pour ta réponse. j'ai regardé un peu la fonction setitimer mais j'ai un problème avec le handling de signaux. En fait jai deux threads qui utilisent les timers. Chaque timer delivre un signal (cest le mm pour les deux timers) vers la fin du thread. Or je veux que un traitement specifique a chaque thread cad que si le timer du thread 1 expire je fais un traitement 1 et resp pour un traitement 2 pour celui du thread2. Comment faire ca sachant que je peux avoir qun seul handling function pour chaque signal.

    Merci d'avance,

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    va sur le forum C, re-poses ta question en mettant le code qui fait problème..

Discussions similaires

  1. JBuilder existe sur Linux ?
    Par hm_hopeful47 dans le forum JBuilder
    Réponses: 4
    Dernier message: 21/02/2005, 19h07
  2. performances 9i sur linux
    Par learn dans le forum Oracle
    Réponses: 4
    Dernier message: 17/12/2004, 20h42
  3. quel sgbd sur linux??
    Par fabfab1 dans le forum Décisions SGBD
    Réponses: 6
    Dernier message: 27/11/2004, 18h38
  4. lancer OEM via le browser (10g sur linux)
    Par learn dans le forum Entreprise Manager
    Réponses: 6
    Dernier message: 20/09/2004, 17h04
  5. [analyse de syntaxe] pour C et C++ sur Linux
    Par Madmac dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 10/07/2004, 06h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo