作者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