alarm函数是设置一个计时器, 在计时器超时的时候, 产生SIGALRM信号. 如果不忽略或捕捉此信号, 它的默认操作是终止调用该alarm函数的进程.
说一下alarm的返回值问题, 每个进程只能有一个alarm维护的"闹钟".
如果该"闹钟"顺利超时, 则返回0;
如果该"闹钟"在计时过程中, 调用了另一个alarm函数, 则该"闹钟"的余留秒数作为该次alarm的返回值, 并且新的"闹钟"开始计时.(实际上是新的闹钟替代了以前的闹钟)
/* Signal handle */
if (signal(SIGALRM, sig_alarm) < 0)
perror("signal");
/*First alarm*/
if (signal(SIGALRM, sig_alarm) < 0)
perror("signal");
原文: http://blog.csdn.net/dai_weitao/archive/2007/09/25/1799640.aspx

5251

被折叠的 条评论
为什么被折叠?



