My question is:
Is it not possible, that vkbd_dev_intr() could be
interrupted at any position before the VKBD_LOCK()
and then vkbd_dev_write() called?
in theory it is possible.
If yes, how should vkbd_dev_write() know, that it should
call task_enqueue(), as TASK is still set?
Hello.
When looking at /sys/dev/vkbd/vkbd.c I found
one thing, that I do not understand.
There are three places, where a flag TASK is used:
1. in vkbd_dev_close():
while(state-ks_flag TASK) VKBD_SLEEP (...);
2. in vkbd_dev_write()
VKBD_LOCK ();
...
if (!(state-ks_flags TASK)
Norbert,
When looking at /sys/dev/vkbd/vkbd.c I found
one thing, that I do not understand.
There are three places, where a flag TASK is used:
1. in vkbd_dev_close():
while(state-ks_flag TASK) VKBD_SLEEP (...);
2. in vkbd_dev_write()
VKBD_LOCK ();
...
if (!(state-ks_flags TASK)
3 matches
Mail list logo