[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [rtl] Async I/O on RT fifos



Hi Arnold,

Thursday, November 09, 2000, 11:14:53 AM, you wrote:

AR> We need asynchronious I/O of RT fifos. The RT kernel task writes data to
AR> RT fifo and if data are available for Linux user mode process, we want
AR> to have a SIGIO. We open RT fifo device with O_ASYNC or do fcntl with
AR> O_ASYNC. I had a look to the source of  rtl_fifo.c and I think this
AR> feature is not yet implemented. Is there a easy patch to change the code
AR> for async I/O ? or better it's possible to implement it generally?

i thought of that too, but the only way i could imagine a scenario
like this for the moment is to use the select-call on regular time
intervalls. this means that you have to implement some kind of
eventloop which calls a non-blocking select on the desired fifo.
another alternative would be to create a new task/thread in userspace
which does the needed select calls and throws a signal or interrupt if
data is present.
i don't know exactly if this is possible via a simple fork in your
main application, but you could have a look at ACE (the adaptive
communication environment) which offers "active objects". those active
objects are methods running in independent threads.

ACE and TAO webpage: http://www.cs.wustl.edu/~schmidt/TAO.html


CU
 Alexander                            mailto:Alexander.Lichius@ruhr-uni-bochum.de