fig10.8
来自「UNIX环境高级编程书的源代码」· 8 代码 · 共 24 行
8
24 行
#include <setjmp.h>#include <signal.h>#include <unistd.h>static jmp_buf env_alrm;static voidsig_alrm(int signo){ longjmp(env_alrm, 1);}unsigned intsleep2(unsigned int nsecs){ if (signal(SIGALRM, sig_alrm) == SIG_ERR) return(nsecs); if (setjmp(env_alrm) == 0) { alarm(nsecs); /* start the timer */ pause(); /* next caught signal wakes us up */ } return(alarm(0)); /* turn off timer, return unslept time */}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?