http://lkml.org/lkml/2009/7/28/298
あたりで、Alan Cox が「Emacs のバグだ!」って言ってるんだが、
O_NDELAY == O_NONBLOCK をセットしたら、read() がエラーを返した時に、 そのエラーの詳細をチェックしなければならないのは礼儀だと思う。それをさぼって、 SIGCHLD で「必ず read()が成功する」と決めつけてる Emacs の方がバグだと言う 主張自体は正しいとは思う。SIGCHLDはclose()に対して来ているわけだし。
まぁ、BSDではwrite()は必ず成功するが、Linux では そうとは限らないあたりで、 Linus のセンスの悪さはわかってはいるんだけど、「もう付き合いきれんよ」 ってなところかな。
なので、どちらかと言えば、Alan Cox の方が正統な主張だと思います。
tty / termios あたりは、もう、百鬼夜行で、作った人も後悔しまくりだとは思う。
No comments:
Post a Comment