From owner-freebsd-arch Mon Jul 17 10: 1: 2 2000 Delivered-To: freebsd-arch@freebsd.org Received: from fw.wintelcom.net (ns1.wintelcom.net [209.1.153.20]) by hub.freebsd.org (Postfix) with ESMTP id 7E9C437B558 for ; Mon, 17 Jul 2000 10:01:00 -0700 (PDT) (envelope-from bright@fw.wintelcom.net) Received: (from bright@localhost) by fw.wintelcom.net (8.10.0/8.10.0) id e6HH0xi06015; Mon, 17 Jul 2000 10:00:59 -0700 (PDT) Date: Mon, 17 Jul 2000 10:00:59 -0700 From: Alfred Perlstein To: Jonathan Lemon Cc: arch@FreeBSD.ORG Subject: Re: kqueue API change Message-ID: <20000717100059.H24382@fw.wintelcom.net> References: <20000717114102.E67727@prism.flugsvamp.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2i In-Reply-To: <20000717114102.E67727@prism.flugsvamp.com>; from jlemon@flugsvamp.com on Mon, Jul 17, 2000 at 11:41:02AM -0500 Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG * Jonathan Lemon [000717 09:40] wrote: > > After some feedback and real real world experience with kqueue, > I'd like to make some small changes to the API in order to clean it up. > > The parameters to the system call will be changed from: > > kevent(int kq, int nchanges, struct kevent **changelist, int nevents, > struct kevent *eventlist, struct timespec *timeout) > > to: > > int > kevent(int kq, const struct kevent *changelist, int nchanges, > struct kevent *eventlist, int nevents, > const struct timespec *timeout) > I'd like to get this change in as soon as possible so it will be > contained in the 4.1-release. Because kq has not appeared in an > official release yet, I don't have too much concern about breaking > compatability at this point, and I'll take care up updating the two > ports in the tree that currently use it. (l0pht-watch and py-kqueue). I also think a careful audit of the kernel code for f_type problems needs to be done: http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/kern/kern_descrip.c.diff?r1=1.84&r2=1.85 Please post a HEADSUP after you've committed your API changes, I have several important peices of code using the old API. Also, one last change while you're at it, don't make timeout const, do it the right way, make it changeable don't make the same mistake select() did. I would also add a last parameter 'flags' that needs to be zero, so if the 'timeout' issue had come after the change we could have made it an option based on the flags parameter. thanks, -Alfred To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message