struct IOType
|
What does the reentrant flag do?
More... |
|
|
Public Types
- enum { read = 1, write = 2, except = 4, reentrant = 8, all = 15 }
What does the reentrant flag do?
The IOManager offers a processOneEvent call. This means, that you can ask
that I/O is handled, even while in a routine that handles I/O. As a
practical example: you may have got a remote invocation for the function
foo. Now you are in function foo() and call function bar() on a remote
server. When you wait for the result, you obviously will again require
the IOManager to wait for it. Thus this is a case where you need reentrant
I/O handling.
That way, you get a multiple level stack:
[...]
|
[ Hander for I/O ]
|
[ IOManager ] level 2
|
[ Some other function ]
|
[ Hander for I/O ]
|
[ IOManager ] level 1
|
[ main() ]
|
What reentrant does, is to allow that IO Watch to be activated at levels
higher than one.
Timers and notifications, on the other hand will only be carried out at
level 1.
| enum { read = 1, write = 2, except = 4, reentrant = 8, all = 15 }
|
|
| Generated by: stefan on stefan on Sat Jun 2 23:13:28 2001, using kdoc 2.0a53. |