|
|
1.1 ! root 1: /*ident "%W%" */ ! 2: /************************************************************************** ! 3: Copyright (c) 1984 AT&T ! 4: All Rights Reserved ! 5: ! 6: THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T ! 7: ! 8: The copyright notice above does not evidence any ! 9: actual or intended publication of such source code. ! 10: ! 11: *****************************************************************************/ ! 12: #include <task.h> ! 13: ! 14: timer::timer(int d) ! 15: { ! 16: s_state = IDLE; ! 17: insert(d, (object*)this); ! 18: } ! 19: ! 20: timer::~timer() ! 21: { ! 22: if (s_state != TERMINATED) task_error(E_TIMERDEL, this); ! 23: } ! 24: ! 25: void ! 26: timer::reset(int d) ! 27: { ! 28: remove(); ! 29: insert(d, (object*)this); ! 30: } ! 31: ! 32: void ! 33: timer::print(int n, int baseClass) ! 34: { ! 35: if (!baseClass) ! 36: printf("timer %ld == clock+%ld\n",s_time,s_time - get_clock()); ! 37: ! 38: sched::print(n, 1); ! 39: } ! 40: ! 41: void ! 42: timer::resume() // time is up; "delete" timer & schedule next task ! 43: { ! 44: s_state = TERMINATED; ! 45: alert(); ! 46: schedule(); ! 47: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.