Re: Finding Aki M Laukkanen's VESAFBD project?
From: Kendall Bennett <hidden>
Date: 2003-03-14 22:57:45
Jon Smirl [off-list ref] wrote:
I noticed the email but I wasn't sure if you knew about the code from the way your mail was worded.
;-)
I used fasync and poll to implement user space communications in a driver I just finished. Use kill_fasync(&fasync, SIGIO) from the device driver to signal the user app. The signal causes the app to poll which the driver replies POLLIN to. Polling identifies which device caused the signal. Now the user app knows it needs to IOCTL the handle to do whatever the driver needs it to. It only takes about 100 lines of code to implement the communication.
Does the user space daemon block waiting to be woken up from the kernel module? I think the way Aki had it done initially was to have the user space daemon call into the kernel via an ioctl() or something, and the kernel would block on that thread and when something needed to be done, it would fill in the return structure for the ioctl() and then unblock the thread. The user space daemon would process the ioctl() and and then call it agin once the service was completed. Does that system make sense at all? Thanks! --- Kendall Bennett Chief Executive Officer SciTech Software, Inc. Phone: (530) 894 8400 http://www.scitechsoft.com ~ SciTech SNAP - The future of device driver technology! ~ ------------------------------------------------------- This SF.net email is sponsored by:Crypto Challenge is now open! Get cracking and register here for some mind boggling fun and the chance of winning an Apple iPod: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en