⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ticker_demo.c

📁 understanding unix/linux programming source code(bruce molay)
💻 C
字号:
/* ticker_demo.c *    demonstrates use of interval timer to generate reqular *    signals, which are in turn caught and used to count down */#include	<stdio.h>#include        <sys/time.h>#include        <signal.h>int main(){	void	countdown(int);	signal(SIGALRM, countdown);	if ( set_ticker(500) == -1 )		perror("set_ticker");	else		while( 1 )			pause();	return 0;}void countdown(int signum){	static int num = 10;	printf("%d ..", num--);	fflush(stdout);	if ( num < 0 ){		printf("DONE!\n");		exit(0);	}}/* [from set_ticker.c] * set_ticker( number_of_milliseconds )     *      arranges for interval timer to issue SIGALRM's at regular intervals *      returns -1 on error, 0 for ok *      arg in milliseconds, converted into whole seconds and microseconds *      note: set_ticker(0) turns off ticker */int set_ticker( int n_msecs ){        struct itimerval new_timeset;        long    n_sec, n_usecs;        n_sec = n_msecs / 1000 ;		/* int part	*/        n_usecs = ( n_msecs % 1000 ) * 1000L ;	/* remainder	*/        new_timeset.it_interval.tv_sec  = n_sec;        /* set reload       */        new_timeset.it_interval.tv_usec = n_usecs;      /* new ticker value */        new_timeset.it_value.tv_sec     = n_sec  ;      /* store this       */        new_timeset.it_value.tv_usec    = n_usecs ;     /* and this         */	return setitimer(ITIMER_REAL, &new_timeset, NULL);}

⌨️ 快捷键说明

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