我正在服务器中编写信号处理程序,我需要在返回服务器的主程序之前接收客户端发送的所有信号。信号本质上是实时的。我的代码如下:
static void handlerB(int signum, siginfo_t *info, void *context){
id[count] = info->si_pid;
printf("A's process ID: %d \n", (int)id[count]);
count++;
kill (pid, SIGCONT);
}
我需要等待所有发送的信号都被接收到处理程序,以便"计数"在继续将SIGCONT发送到主程序之前,将其设置为接收的信号总数。换句话说,在程序执行期间只会调用一次处理程序。有谁知道如何做到这一点?提前谢谢!