作者pishen (轩)
看板b96902HW
标题[系程] 关於 response
时间Sat Jun 6 12:15:46 2009
想再请问一下,
reseller 要把 response write 到 specific FIFO 的时候,
会保证 customer 已经开好 specific FIFO 了吗?
有没有可能 customer 其实是要开的, 只是还来不及, 结果就产生SIGPIPE了?
想顺便再请问一下, SIGPIPE 是用到 write() 之类的函数时才会产生,
还是 open() 的时候就可能产生了呢?
谢谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.244.115
1F:推 imprazaguy:reseller会write到specific FIFO必先接收到customer所 06/06 19:42
2F:→ imprazaguy:上面的话不要管,我觉得你说的情况是有可能的。 06/06 19:45
3F:→ imprazaguy:SIGPIPE我测试是在write()的时候才会产生 open()不会 06/06 19:45
※ 编辑: pishen 来自: 140.112.30.84 (06/06 20:09)
4F:→ pishen:能请助教解答一下吗?:) 06/07 10:12
5F:推 iippchen:reseller的open specific FIFO for write会block直到 06/07 10:33
6F:→ iippchen:customer open specific FIFO for read 06/07 10:34
7F:→ iippchen:对FIFO开档时,open()会有此block性质,可参考课本 06/07 10:35
8F:→ pishen:我知道block怎麽用,一开始也考虑过了 06/07 11:00
9F:→ pishen:只是如果用block的方式,如果customer一直不open怎麽办? 06/07 11:01
10F:→ pishen:对於第一种abnormal case就没办法处理了吧? 06/07 11:02
11F:推 iippchen:在第一种abnormal,customer会先open再close 06/07 11:27
12F:→ pishen:那如果在customer close之前,reseller就write了呢? 06/07 11:32
13F:→ pishen:这样就算customer不read,reseller也不知道吧? 06/07 11:33
14F:推 iForests:下一篇说不会有这种 case 06/07 12:24
15F:→ pishen:照助教的说法,这种case应该无法避免吧? 06/07 13:56
16F:推 iippchen:如果customer在write well-known FIFO前就close specific 06/07 20:40
17F:→ iippchen:FIFO,就可以保证在reseller write specific FIFO前close 06/07 20:41
18F:→ pishen:如果customer在write well-known FIFO前就open specific 06/08 13:42
19F:→ pishen:FIFO for block,应该就会卡住了吧,因为reseller还没收到 06/08 13:43
20F:→ pishen:request,根本就不会open specific FIFO 06/08 13:43