e******d 发帖数: 14 | 1 一个线程已经在阻塞的select一组socket,同时SERVER又产生了一个新的socket,怎么
把这个新的socket加到这一组socket中,一起听。 |
t****t 发帖数: 6806 | 2 basically you need to let select() return earlier. you may: 1. send a signal
(you need to use pselect() instead); 2. use a phony pipe between 2 threads,
and also select on this phony pipe. when server create new socket, send
something to the pipe.
【在 e******d 的大作中提到】 : 一个线程已经在阻塞的select一组socket,同时SERVER又产生了一个新的socket,怎么 : 把这个新的socket加到这一组socket中,一起听。
|
e******d 发帖数: 14 | 3 Thanks a lot!
signal
threads,
【在 t****t 的大作中提到】 : basically you need to let select() return earlier. you may: 1. send a signal : (you need to use pselect() instead); 2. use a phony pipe between 2 threads, : and also select on this phony pipe. when server create new socket, send : something to the pipe.
|
c*****g 发帖数: 119 | 4 给select加timeout;或者用asynchronous的方法,比如epoll
【在 e******d 的大作中提到】 : 一个线程已经在阻塞的select一组socket,同时SERVER又产生了一个新的socket,怎么 : 把这个新的socket加到这一组socket中,一起听。
|