b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

socketpair_流离and逍遥(2)

电脑杂谈  发布时间:2016-04-10 22:43:29  来源:网络整理

socketpair会创建两个描述符,但改描述符不属于任何的实际文件系统,而是网络文件系统,虚拟的.同时内核会将这两个描述符彼此设为自己的peer即对端(这里即解决了如何标识读写端,可以想象,两个描述符互为读写缓冲区,即解决了这个问题).然后应用相应socket家族里的read/write函数执行读写操作.

有了这个基础,即可明白为什么试用fork产生的两个子进程都不关闭读端的时候会竞争,如上所述,他们共享相同的文件表项,有相同的inode和偏移量,两个进程的操作当然是相互影响的.

本文出自 “流离and逍遥” 博客,请务必保留此出处

liang1998

1人

了这篇文章

类别:linux C/C++┆阅读(0)┆评论(0) ┆ 返回博主首页┆返回博客首页

上一篇 TCP_DEFER_ACCEPT与高性能web服务器 下一篇 linux内核实现中的小工具

职位推荐

文章评论

2011-04-08 17:40:42

socketpair是个函数吗?


2012-08-24 14:39:02

“若将父进程阻塞一段时间,则收到数据的就是子进程了,已经得到验证,让父进程sleep(3),子进程获得string,而父进程获取不到”
我验证的情况是,父进程一直阻塞在read上。我想不明白,为什么这时候父进程不能读取数据呢。
而上一种情况,父进程先读取数据,子进程仍然可以读取数据(数据为空),但子进程不会阻塞在read上。
按照你的见解,指向相同文件表项的指针。那这时候为什么这个指针又不起作用了呢。期待您的解答。谢谢。


2012-09-04 02:08:36

回复 笨笨:
已于文中详细解释,欢迎指正,谢谢


2012-09-12 20:40:38

回复 GJjinger:
谢谢你的解答,已经明白了。
“根据read的语义,当子进程被唤醒后会读取到EOF。”又学习了。是不是read一个被系统释放的描述符,就会这样呢?
我写个例子验证下,。
再次感谢!


以上就是关于socketpair的全部内容,相信你一定会非常满意。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-44-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 刘梦杰
      刘梦杰

      那个翻白眼好萌

    • 钱佳丽
      钱佳丽

      但菲律賓可能當全新最強用

    热点图片
    拼命载入中...