From owner-freebsd-hackers Mon Jan 29 11:24: 4 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from fw.wintelcom.net (ns1.wintelcom.net [209.1.153.20]) by hub.freebsd.org (Postfix) with ESMTP id F037A37B698 for ; Mon, 29 Jan 2001 11:23:46 -0800 (PST) Received: (from bright@localhost) by fw.wintelcom.net (8.10.0/8.10.0) id f0TJNbg25599; Mon, 29 Jan 2001 11:23:37 -0800 (PST) Date: Mon, 29 Jan 2001 11:23:37 -0800 From: Alfred Perlstein To: Luigi Rizzo Cc: Garrett Wollman , hackers@FreeBSD.ORG Subject: Re: [kernel patch] fcntl(...) to close many descriptors Message-ID: <20010129112337.Y26076@fw.wintelcom.net> References: <200101291906.OAA36539@khavrinen.lcs.mit.edu> <200101291916.f0TJGEG34400@iguana.aciri.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <200101291916.f0TJGEG34400@iguana.aciri.org>; from rizzo@aciri.org on Mon, Jan 29, 2001 at 11:16:04AM -0800 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG * Luigi Rizzo [010129 11:16] wrote: > > < said: > > > > > And, this mechanism would be explicitly used for "non portable" or > > > experimental functions (such as the closeall() which started the > > > thread, or next time someone comes up with a start_http_server_thread()) > > > and avoiding overloading an existing syscall or having to modify > > > libc > > > > This assumes that experimental functionality is always going to > > implemented as a system call. > > that was the context of the thread as it evolved -- finding > non-intrusive ways to add new or experimental syscalls without > having to change kernel, libc or the like. > > As a matter of fact, you could easily provide (in the libc stub) > hooks to add/remove names (and corresponding userland functions) > that are tried by this new call either before or after passing > control to the kernel version. > > The generic method would basically have the same interface as ioctl() > or fcntl(), with the fd replaced by a pointer to the function name. Actually, the easiest way if to make a sysctl that exports the syscall number to useland. mysubsystem.foosyscall: 188 :) -- -Alfred Perlstein - [bright@wintelcom.net|alfred@freebsd.org] "I have the heart of a child; I keep it in a jar on my desk." To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message