我正在为 leopard 编写一个进程控制器内核扩展。该应用程序使我能够使用 SIGSUS 暂停进程并使计算机进入睡眠状态。我的问题是当一个使用视频/音频的应用程序(例如 iTunes 或 GarageBand)被挂起,然后我尝试让计算机进入睡眠状态时,睡眠过程会等待音频/视频应用程序以 30 秒的超时结束。实际上,当我在音频/视频应用程序挂起时尝试使计算机进入睡眠状态时,计算机会挂起 30 秒(可能被挂起的应用程序没有响应睡眠请求)然后它正常睡眠。当我唤醒计算机并将 SIGCON 发送到视频/音频应用程序时,它会正常继续。
有没有办法改变 30 秒的等待时间?或者让它根本不等待?或者任何其他解决方案?