在python中处理SIGBUS导致进程挂起

时间:2018-06-08 13:46:44

标签: python sigbus

我有一个访问内存映射设备的asyncio代码。我尝试读取和写入设备中的地址。如果地址无效,我会收到SIGBUS错误,并且进程崩溃。

我为SIGBUS添加了一个信号处理程序来处理访问错误。现在进程挂起而不是崩溃,我的处理程序似乎没有执行。

def handler(loop):
    loop.remove_signal_handler(signal.SIGBUS)
    print("Access violation")
    loop.stop()
    logging.error("Access violation")

asyncio.get_event_loop().add_signal_handler(signal.SIGBUS, handler, asyncio.get_event_loop())

我在一个不使用ayncio的单独应用程序中尝试了同样的事情,我得到了相同的结果。在python中是否有任何特定于处理SIGBUS错误的内容?

BTW我可以毫无问题地处理SIGTERM和SIGINT。

0 个答案:

没有答案