timer.c

来自「cfront是最开始c++语言到C语言的转换工具」· C语言 代码 · 共 52 行

C
52
字号
/*ident	"@(#)cls4:lib/task/task/timer.c	1.1" *//******************************************************************************* C++ source for the C++ Language System, Release 3.0.  This productis a new release of the original cfront developed in the computerscience research center of AT&T Bell Laboratories.Copyright (c) 1991 AT&T and UNIX System Laboratories, Inc.Copyright (c) 1984, 1989, 1990 AT&T.  All Rights Reserved.THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE of AT&T and UNIX SystemLaboratories, Inc.  The copyright notice above does not evidenceany actual or intended publication of such source code.*******************************************************************************/#include <task.h>timer::timer(long d){	s_state = IDLE;	insert(d, (object*)this);}timer::~timer(){	if (s_state != TERMINATED) task_error(E_TIMERDEL, this);}voidtimer::reset(long d){	remove();	insert(d, (object*)this);}voidtimer::print(int n, int baseClass){ 	if (!baseClass)		printf("timer %ld == clock+%ld\n",s_time,s_time - get_clock());	sched::print(n, 1);}voidtimer::resume()  // time is up; "delete" timer & schedule next task{	s_state = TERMINATED;	alert();	schedule();}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?