Re: [Q] パイプで通信
河野真治 @ 琉球大学情報工学です。
In article <bhshhp$qfg$1@ns.src.ricoh.co.jp>, ohta@src.ricoh.co.jp (Junn Ohta) writes
> # というか、select()をご存じなのになぜこれが出てこ
> # ないのか不思議。select()を使ってはいけない理由が
> # 何かあるのでしょうか...。
ちゃんと使うのは難しいですよ。
> 可)、write()は返り値を調べて何バイト書けたかをきち
> んとチェックする、などの配慮が必要です。
BSD ならwriteは失敗しないのでその必要はありません。Linux
では必要です。
さらにalarm/itimer と select を組み合わせると、read/write/select
が、それにひっかかると失敗するので、それに対応するコードを
書く必要があります。これは結構大変です。あはは。
(System V を作った奴は死んでいいです....)
---
Shinji KONO @ Information Engineering, University of the Ryukyus,
PRESTO, Japan Science and Technology Corporation
河野真治 @ 琉球大学工学部情報工学科,
科学技術振興事業団さきがけ研究21(機能と構成)
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735