home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / listings / v_08_11 / 8n11110a < prev    next >
Text File  |  1990-09-20  |  724b  |  29 lines

  1.  
  2.  
  3. struct timer *timer_next = NULL;/* timer we expect to run down next */
  4. TIME time_timer_set;            /* time when physical timer was set */
  5.  
  6. void timers_update();           /* see discussion below */
  7.  
  8. void
  9. timer_undeclare(t)
  10. struct timer *t;
  11. {
  12.         disable_interrupts();
  13.         if (!t->inuse) return;
  14.         t->inuse = FALSE;
  15.  
  16.         /* check if we were waiting on this one */
  17.         if (t == timer_next) {
  18.                 timers_update(time_now - time_timer_set);
  19.                 if (timer_next) {
  20.                         start_physical_timer(timer_next->time);
  21.                         time_timer_set = time_now;
  22.                 }
  23.         }
  24.         enable_interrupts();
  25. }
  26.  
  27. Listing 3
  28.  
  29.