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

Reply via email to