I want to synchronize a user space thread to an external event that generates an interrupt. I thought of using the following approach: the ISR that treats the interrupt does a quick processing (such as data capture and buffering) and then sends data to the user space thread through a message queue or signals to the thread waiting on a semaphore and it gets the buffered data from shared memory or some similar mechanism. So far I haven't succeded in finding a way to do it. I've tryed to write a module which uses semaphores () but aparently there is no way to use SysV IPC primitives in kernel modules.
I would appreciate having hints on how to do it or pointers to documentation and example code if available.
Thank you very much in advance for your help.
Elder.