qemu中信号丢失

Nov 18th, 2008 | Posted by yajin | Filed under OMAP, emulation

那在qemu中,有一个gui timer会定时刷新gui的信息。现在gui的tile没有变化,就说明这个gui timer 根本没有被触发。

而在qemu中的定时器是通过函数host_alarm_handler来触发运行的,函数host_alarm_handler又是通过信号来进行触发的。那么问题的根源就是信号没有被发送或者被block(还没有查出具体原因)。

我尝试在终端中向qemu发生SIGALRM信号,果然,qemu接收到SIGALRM信号后,执行host_alarm_handler然后会执行所有注册了的定时器的超时函数(包括display_state.gui_timer)。

kill-bill: # ps aux | grep qemu

root      2945  101  3.2 196468  8404 pts/1    R+   09:36   0:14 ./qemu-system-arm -M beagle -mtdblock beagle-nand.bin

root      2947  0.0  0.2   2996   692 pts/0    R+   09:36   0:00 grep qemu

kill-bill: # kill -s SIGALRM 2945

多次发送SIGALRM信号后,qemu可以正常接受终端的输入。下面是qemu运行u-boot的截图。

qemu

接下来就需要查找为什么qemu没有收到SIGALRM!

Tags:
No comments yet.