Когда Mac OS X переходит в спящий режим, из-за закрытия ноутбука или выбора "Сон" из меню Apple, как он приостанавливает выполнение процесса?
Я полагаю, что не оконные процессы просто приостанавливаются в произвольной точке исполнения. Это также верно для приложений Cocoa, или ОС ждет, пока управление не вернется к диспетчеру цикла выполнения, и не отправится спать в "известном" месте? Использует ли какая-либо современная ОС это, или она обычно достаточно безопасна, чтобы просто приостанавливать приложение независимо от того, что он делает?
Мне любопытно, потому что разрешение сна в любой момент означает, что с точки зрения приложения системные часы могут внезапно перескочить на значительное количество. Это возможность, которую я обычно не рассматриваю при кодировании.