読者です 読者をやめる 読者になる 読者になる

kevent(2)に相当するものがlinuxにはない

じゃあ、ユーザランドで作ればいいんじゃね?と俄然創作意欲が湧いたのだが、よくよく考えると「それlibeventじゃね?」と脳内小人がツッコんできたので無駄なコードを書かずに済むかもしれない。いろいろ確かめなきゃいけないことはあるけど、libeventが使えることを確かめた後で、結局、再発明の意欲が涌いてくるかもしれない。涌いてこないかもしれない。いや涌いてこないことを強く希望する。

ちなみに、libevなんて類似品もあったりして二つを同じディレクトリに展開しようとするとタブ補完が調子わるいというか1ストローク増えたりしてめんどっちくなったりする。

A full-featured and high-performance (see benchmark) event loop that is loosely modelled after libevent, but without its limitations and bugs. It is used, among others, in the GNU Virtual Private Ethernet and rxvt-unicode packages, and in the Deliantra MORPG Server and Client.

当初は、kevent(2)に相当するものがlinuxにはない、ったってepoll(7)があるじゃないの思ったのだけれども、よくよくmanページを読むと、前者の方が登録可能なイベントが明らかに多い。というかfdじゃなくても登録できそうなところに大きな差がある。epoll(7)でやろうとすると、signalfdとかinotify(2)とか?いろいろ面倒なことをしないといけない(ちょっと記憶がいい加減)。しかしkevent(2)のEVFILT_NETDEVにはびっくりした。どう使うんだろう。故障したら別ラインから通知とかすんのかな。