Messages in this thread | | | Date | Wed, 05 May 2004 12:45:50 +0200 | From | Bart Samwel <> | Subject | Re: Read from file fails |
| |
Libor Vanek wrote:
>>Libor Vanek wrote: >> >>>OK - how can I "notify" userspace process? Signals are "weak" - I need >>>to send some data (filename etc.) to process. One solution is "on this >>>signal call this syscall and result of this syscall will be data you >>>need" - but I'd prefer to handle this in one "action". >> >>My first thoughts are to make it a blocking call. > > You mean like: > - send signal to user-space process > - wait until user-space process pick ups data (filename etc.), creates copy of file (or whatever) and calls another system call that he's finished > - let kernel to continue syscall I blocked > ?
No, more like:
- user-space process calls syscall, which blocks. - kernel captures a file write event, puts the info in some kind of queue, wakes up the user-space process and then waits for some kind of acknowledgement to be returned so that it may continue. - user-space process wakes up, the syscall completes, and passes a filename etc. to user-space. Copies the file, and calls a syscall to signify "hey, I'm done with that file". This syscall wakes up the kernel stuff that was waiting for this acknowledgement. - file write event continues - repeat from start
--Bart - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |