我编写了一个在 Mono 上运行并被 udev 规则调用的应用程序。
该应用程序在控制台上运行良好。此外,它在 udevAPP+=
节中运行良好。然而,在我组装的一个新的 Gentoo 系统上,程序从一个PROGRAM=
节调用时永远不会终止。在我也有的 Ubuntu 系统上,从PROGRAM=
stanza 调用它可以正常工作。两个系统共享相同版本的 Mono。
PROGRAM=
此外,从两个系统上调用其他程序(非 Mono)都可以正常工作;这绝对是 Mono 和调用环境的问题。
我用过 gdb,似乎程序在等待信号量时卡住了。控制台输出已确认这发生在 C# 代码结束之后——它似乎在垃圾收集器中。这是gdb的截图:
我会报告一个错误,但我还不知道这是否是环境问题;毕竟,它在 Ubuntu 上运行良好。
任何帮助将不胜感激。