对sigwait我有好几个问题, 它的原型如下: [quote]sigwait(const sigset_t *restrict sed, int *restrict signop);[/quote] 首先是书上说signop作为返回值, 表示发送信号的数量, 但是书后面的例子是这么用的: [code] /* 省略了变量的声明, 错误处理 */ err = sigwait(&mask, &signo); switch(signo){ case SIGINT: /* 处理 */ case SIGQUIT: /* 处理 */ default: /* 处理 */ } [/code] 我就想不通了, signo在这...
by yylogo - C/C++ - 2011-09-21 14:43:06 阅读(4075) 回复(9)
这里请教一个问题,这里有两种代码:
First:(.cpp代码)
#include
大家好. 看书看到sigwait()函数的解释 int sigwait(const sigset_t *restrict sigmask, int* restrict signo); sigwait函数一直阻塞直到*sigmask指定的任何一个信号被挂起为止,然后从挂起信号集中删除那个信号,并解除对它的阻塞。当sigwait返回时,从挂起信号集中删除的信号的个数被存储在signo指定的那个位置中。 在这里,信号被挂起是什么意思呢?被挂起不是被阻塞吧? 其中,书上对信号有这么一段描述: 信号是向进程发...