Date: Tue, 23 Mar 1999 21:39:38 +0000 (GMT) From: Doug Rabson <dfr@nlsystems.com> To: Nick Hibma <hibma@skylink.it> Cc: FreeBSD hackers mailing list <hackers@freebsd.org> Subject: Re: scheduling a function call from int routines Message-ID: <Pine.BSF.4.05.9903232135470.78570-100000@herring.nlsystems.com> In-Reply-To: <Pine.BSF.3.96.990323231348.2553A-100000@heidi.plazza.it>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 23 Mar 1999, Nick Hibma wrote: > > The usbd thing we are doing right now, but I don't like it, as you have > to pick up the pieces when the daemon is killed. Try it and you will see > what I mean. Lot's of failed transfers. Most probably could be solved, I > agree, but not as a first priority, > > A kernel thread would be easier and I do remember something like that > being mentioned somewhere in the manpages. Any chance you know where to > find it? > > Nick You can create kernel threads at startup time by using SYSINIT_KT. This isn't supported by KLD though so it might not be the best solution. For usbd, I think it selects on a control device (or something) and wakes up when an event has happened, calling ioctl (or something) to handle the event. This isn't what I was thinking of though; something more like nfsiod might be better: if (!fork()) usb_syscall(...); /* never returns */ The syscall could be replaced by an ioctl I guess. -- Doug Rabson Mail: dfr@nlsystems.com Nonlinear Systems Ltd. Phone: +44 181 442 9037 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.05.9903232135470.78570-100000>