macOS:Spindump之后驱动程序/进程通信中断

时间:2018-07-10 15:24:20

标签: macos synchronization kernel iokit kernel-extension

我正在研究Daemon / Kext,它使用称为IOSharedDataQueue的用户和内核空间之间的共享队列进行通信。

我多次手动运行了转储诊断后,在等待IODataQueueDataAvailable时,它无法再从IOKit驱动程序中获取消息-看起来消费者(kext)与生产者之间的同步(我的守护进程)中断,应该以某种方式将其重置。问题是如何重置队列,以及如何从流程中检测到这种情况。

仅在将进程与lldb调试器连接并按continue后,队列才能重新工作。

任何想法如何从过程中(以编程方式)处理这种情况。

0 个答案:

没有答案