📄 sleep2.c
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -