linux下recvfrom阻塞状态下退出的问题
控制器上linux主线程main(不异常永远不会退出)创建了常驻线程inA(不异常永远不会退出)来接收来自socketA网络地址和端口的数据,
当上位机PC软件给控制器的socketA网络地址和端口发送数据:
1.如果socketA网络地址和端口的数据命令是启动socketB网络地址和端口的数据接收时,常驻线
程inA会创建线程inB,并且调用pthread_detach(inB)断开自己与inB的关系,而线程inB
以阻塞方式循环调用recvfrom来接收socketB网络地址和端口的数据。
2.如果socketA网络地址和端口的数据命令是关闭socketB网络地址和端口的数据接收时,常驻线程inA
会关闭socketB网络地址和端口,使socketB网络地址和端口的recvfrom从阻塞中跳出,并线程inB自己跳出循环,线程inB运行结束,自己释放自己占用的资源。
常驻线程inA怎么让线程inB的recvfrom从阻塞中跳出?
仅close(socketB)不能让线程inB的recvfrom从阻塞中跳出