等待时中断pselect-多线程

问题描述 投票:0回答:1

因此,根据手册,pselect可以具有超时参数,如果没有文件描述符更改,它将等待。另外,它还可以通过信号中断:

sigemptyset(&emptyset);    /* Signal mask to use during pselect() */
res = pselect(0, NULL, NULL, NULL, NULL, &emptyset);
if (errno == EINTR) printf("Interrupted by signal\n");

然而,从手册哪些信号能够中断pselect?]中不明显]

如果我有线程(生产者和使用者),并且每个(消费者)线程都使用pselect,有没有办法从另一个(生产者)线程中仅中断一个(消费者)线程?

因此,根据手册,pselect可以具有超时参数,如果没有文件描述符更改,它将等待。同样,它也可以被信号打断:sigemptyset(&emptyset); ...

c multithreading signals
1个回答
0
投票

我认为该问题已在https://lwn.net/Articles/176911/

© www.soinside.com 2019 - 2024. All rights reserved.