当一个进程延迟睡眠时,MacOS X 是等待所有进程进入睡眠状态还是尽可能地睡眠它们?

问题描述

我有一个进程 A 通过 IORegisterForSystemPower 注册了睡眠/唤醒通知。当它收到消息 kIOMessageSystemWillSleep 时,我希望它为另一个进程 B 分配一些工作。我发现这项工作没有完成,直到 mac 系统唤醒之后。

在将工作交给进程 B 后,我在调用 usleep() 之前尝试了 IOAllowPowerChange 进程 A 长达 30 秒。这应该给进程 B 足够的时间来完成工作,但是我发现它直到 mac 唤醒后才完成。

macOS X 在等待进程 A 调用 IOAllowPowerChange 时,是否已经休眠了其他进程,包括 B?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)