I have not looked at the source code, but the SDL audio code uses callbacks. I think JACK also uses callbacks.
Are these all doing "highly specific mechanism with lots of semantics" ? Cheers James > -----Original Message----- > From: Paul Davis [mailto:[EMAIL PROTECTED]] > Sent: 28 November 2001 16:39 > To: James Courtier-Dutton > Cc: Jaroslav Kysela; [EMAIL PROTECTED] > Subject: Re: [Alsa-devel] more on that return from poll(2) issue > > > >I don't know all about mmap, but why does one need to poll. > >I would have thought that a callback with info on how many > samples it wants > >would be a better way. > > there is no generalized mechanism for the kernel to call userspace code. > > POSIX signals are the canonical examples of such a thing, where > userspace attaches a handler, and the kernel ensures that if the > signal is delivered, the thread returns to user space to execute that > code. however, this is a highly specific mechanism with lots of > semantics that get in the way of this being a broadly useful system. > > some unix-like systems have played with allowing kernel->userspace > callbacks; none of the APIs has ever taken off. i even implemented one > once for Mach - it wasn't easy :) > > poll(2) is a nice method for this in the absence of such a mechanism. > both it and select(2) are moderately broad mechanisms that allow > userspace to execute code when certain conditions happen. > > --p > _______________________________________________ Alsa-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-devel