进城A和进程B之间为AF_UNIX本地通信
进程A:
// ...连接到server端
write(socket_client, ....); 成功
read(socket_client, ...);失败
进程B:
// pthread A
进程B accept 进程A后创建 pthread B
// pthread B
while(....) {
// FD_...
if(select(..+1, read, NULL, NULL, &t) < 0) {
// .....
}
if(FD_ISSET(...)) {
//...
}
}
背景:
进程A、B(pthread A)建立socket通信后,进程B创建pthread B监控进程A的套接字读写
问题:
建立连接后,没有读写时线程B阻塞在select,问题是当进程A已经write成功,但是线程B的select依旧阻塞。
多线程处理
1、检查进程A是否真的将数据写出了。
2、如果A进程确实写成功了,线程B select前、以及select函数参数等是否有误