On Wed, 25 Sep 2002, Michel Oosterhof wrote: > Hello. > > Recently I started looking into kqueue(2), and to get to know the > interface better I attempted to turn usr.sbin/moused into a kqueue > program (replacing the main select() loop that reads the mouse > device). > > Now I thought I understood the interface, I requested a kqueue, but > as soon as I add an event for monitoring I get an 'Operation not > permitted' error. Does anyone know if this is caused because > kqueue() only supports FFS? The mouse device is on devfs (I'm running > -CURRENT, btw).
No, it's a device driver not fs deficiency. The serial/ps2/whatever drivers need to add a KNOTE when they have data ready. Check out sys/kern/tty.c for a driver that does this. This is not a difficult change -- KNOTE would go into psmintr() near the selwakeup. You also need to add kqfilter, attach, detach entries (see ttykqfilter, fil_ttyrdetach, etc.) > I've got one more question, actually a fact that surprises me, it > seems that tail(1) is the only place in the base system that actually > uses kqueue. Is there a reason for this? I read in most places > kqueue() is more efficient, scalable, etc. I'm sure code like ftpd > or other services would benefit. (And i'm sure Apache could use it > too). No time. -Nate To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message