当前位置:  技术问答>linux和unix

一个关于poll与线程的问题

    来源: 互联网  发布时间:2016-04-10

    本文导语:  主线程接受连接,并且poll所有连接的pollin事件,处理客户端发送过来的数据: client[max_fd].events = POLLIN; int ready = poll (client, max_fd + 1, timeout); recv(fd); 另外开了一个线程,用主线程的连接句柄进行数据发送 send(f...

主线程接受连接,并且poll所有连接的pollin事件,处理客户端发送过来的数据:

client[max_fd].events = POLLIN;
int ready = poll (client, max_fd + 1, timeout);
recv(fd);

另外开了一个线程,用主线程的连接句柄进行数据发送
send(fd);

现在问题是如果接受客户端数据没有问题,但是发送线程一调用send(fd),主线程poll就会返回1,并且在该fd句柄上报pollerr和pullhup错误,但是数据确实通过socket发送到客户端了,但是我主线程收到pollerr之后就只好关闭连接了
为什么fd上在poll会报错呢?

谢谢各位指点,感谢先


|
注意,
发送的socket不要加入到Poll里面,
这样发送就不会影响poll了。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.util类linkedlist<e>的类成员方法: poll定义及介绍
  • 哪位能详细介绍一下poll的用法,感觉man poll说得不够清晰
  • java命名空间java.util接口queue<e>的类成员方法: poll定义及介绍
  • 应用层获得SIGIO信号如何区分是kill_fasync(poll_in)或kill_fasync(poll_out)产生的
  • java命名空间java.util类priorityqueue<e>的类成员方法: poll定义及介绍
  • tuxedo客户端调用的tpacall返回的fd是否支持poll?
  • java命名空间java.util类arraydeque<e>的类成员方法: poll定义及介绍
  • 如何让poll函数永久阻塞
  • java命名空间java.util.concurrent类priorityblockingqueue<e>的类成员方法: poll定义及介绍
  • poll_wait无法阻塞是什么原因造成的?
  • java命名空间java.util.concurrent类concurrentlinkedqueue<e>的类成员方法: poll定义及介绍
  • 怎么用poll检查设备是否有数据?还有fsync怎么用?
  • java命名空间java.util接口deque<e>的类成员方法: poll定义及介绍
  • Ajax投票程序 Ajax Poll
  • java命名空间java.util.concurrent接口blockingdeque<e>的类成员方法: poll定义及介绍
  • poll为什么不返回?
  • java命名空间java.util.concurrent接口completionservice<v>的类成员方法: poll定义及介绍
  • 中断和polling的区别?
  • java命名空间java.util.concurrent类synchronousqueue<e>的类成员方法: poll定义及介绍
  • 请教高人来解释一下小弟关于poll()函数的疑惑
  • java命名空间java.util.concurrent类delayqueue<eextendsdelayed>的类成员方法: poll定义及介绍
  • @@请教poll模式和select中的FD_SETSIZE


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3