IPC Timeouts

Martin Pohlack mp26 at os.inf.tu-dresden.de
Wed Feb 23 19:41:40 CET 2005


Ronald Aigner wrote:

<...>

>  To imitate the concurrent waiting for an IPC or timer event one could set
> up a timer with the kernel and inculde the "timer-source" into the receive
> scope of the wait IPC.  Timer events can be dropped if the receiver is not
> ready.  This would also simplify the tasks using IPC timeouts as timer
> event source.

I see one problem with this:

Scenario:

I use finite timeouts in a library emulating keyboard repeat behaviour 
(you press the key -> one press event is generated, you keep the key 
pressed -> after 250 ms another event is generated every 100 ms until 
you release the key).

This is implemented with IPC-Recv from an event thread with the timeouts 
mentioned.

Problem:

The setup and start of the timer and the ipc operation in this scenario 
is atomic.  If I would have to setup and start the timer independently 
of the IPC I could be interupted and/or delayed in-between if no other 
meassures (e.g. delayed preemption) would be taken.

There could be similar more critical examples (although I think that a 
spongy keyboard is bad enough).

Greets,
Martin

-- 
Martin Pohlack
gpg key:     http://os.inf.tu-dresden.de/~mp26/keys/Martin_Pohlack.asc
fingerprint: 4506 2C3C F5FA 96E6 0EA4 314D A8C2 1C32 1545 8E58




More information about the l4-hackers mailing list