Linux Embedded

Le blog des technologies libres et embarquées

    • le 20 septembre 2013 à 15:59

      C'est toujours un peu embêtant d'utiliser les signaux qui sont une ressource rare, commune à tout le système et délicate à utiliser. Comme vous le soulignez, le thread de destination n'est pas facilement défini.
      N'y a t'il pas une solution beaucoup plus simple avec :
      struct timespec periodic_time ;
      clock_gettime(CLOCK_REALTIME, &periodic_time ) ;
      while (1) {
      periodic_time.tv_nsec += PERIOD_NANOSEC ;
      periodic_time.tv_sec += PERIOD_SEC ;
      /* ajouter du code pour gérer la retenue */
      clock_nanosleep (CLOCK_REALTIME, TIMER_ABSTIME, &periodic_time , NULL);
      /* travail de la tâche */
      }
      Il y a peut être aussi des subtilités entre CLOCK_REALTIME et CLOCK_MONOTONIC.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.