如何SIGINT在翻译的 RPython 程序中捕获信号(特别是/特别是)?
我已经浏览了 PyPy 源代码树,找到了 CPythonsignal模块,并尝试在翻译的程序中使用它会在翻译过程中出现预期的错误:
[translation:ERROR] Exception: unexpected prebuilt constant: <built-in function signal>
还有,pypy.module.signal但我不知道这是否是我应该使用的,或者如何使用它。该模块确实提供了一个signal功能,但它需要一个额外的space参数;这些space参数出现在源代码树的几个地方,我无法弄清楚它们指的是什么,或者我应该在那里传递什么。
背景:我希望有一个可以运行任意时间长度的计算,但要捕获^C,以便我可以在程序退出之前打印出迄今为止的结果。(主循环周围的明显try: ... except KeyboardInterrupt: ...也不起作用。)