I am writing a driver and try sending something from kernel to user space, what I gonna to(which is the only way I know), is to send a signal from kernel to user space, and call signal(...) somewhere in user space, which will catch it and use ioctl(...), now is time kernel send things to user space.
My question is, when signal sent, it has to wait util user space call signal(), and then do something?
And is there any other ways to talk between kernel and user space?