



RunTimersAndDaemons (lines 4786-4817)
Back to List
Browsing parserm.h
4786 [ RunTimersAndDaemons i j;
4787 #Ifdef DEBUG;
4788 if (debug_flag & 4 ~= 0) {
4789 for (i=0 : i<active_timers : i++) {
4790 j = the_timers-->i;
4791 if (j ~= 0) {
4792 print (name) (j&~WORD_HIGHBIT), ": ";
4793 if (j & WORD_HIGHBIT) print "daemon";
4794 else
4795 print "timer with ", j.time_left, " turns to go";
4796 new_line;
4797 }
4798 }
4799 }
4800 #Endif; ! DEBUG
4801
4802 for (i=0 : i<active_timers : i++) {
4803 if (deadflag) return;
4804 j = the_timers-->i;
4805 if (j ~= 0) {
4806 if (j & WORD_HIGHBIT) RunRoutines(j&~WORD_HIGHBIT, daemon);
4807 else {
4808 if (j.time_left == 0) {
4809 StopTimer(j);
4810 RunRoutines(j, time_out);
4811 }
4812 else
4813 j.time_left = j.time_left-1;
4814 }
4815 }
4816 }
4817 ];
Last updated 27 February 2004. The librarian in charge of this page is Graham Nelson (graham@gnelson.demon.co.uk) assisted by C Knight. Please email any comments, suggestions or corrections to cedenqs@inform-fiction.org.