#ifdef kIOPMAssertionTypeDenySystemSleep
if ((busy & 2) && !dark_wake)
+ {
+ cupsdLogMessage(CUPSD_LOG_DEBUG2, "Asserting dark wake.");
IOPMAssertionCreateWithName(kIOPMAssertionTypeDenySystemSleep,
kIOPMAssertionLevelOn,
CFSTR("org.cups.cupsd"), &dark_wake);
+ }
else if (!(busy & 2) && dark_wake)
{
+ cupsdLogMessage(CUPSD_LOG_DEBUG2, "Releasing dark wake assertion.");
IOPMAssertionRelease(dark_wake);
dark_wake = 0;
}
cupsdCleanDirty();
+#ifdef kIOPMAssertionTypeDenySystemSleep
+ /*
+ * Tell the OS it is OK to sleep when we remove our assertion...
+ */
+
+ IOAllowPowerChange(sysevent.powerKernelPort,
+ sysevent.powerNotificationID);
+
+#else
/*
* If we have no printing jobs, allow the power change immediately.
* Otherwise set the SleepJobs time to 15 seconds in the future when
sysevent.powerNotificationID);
}
}
+#endif /* kIOPMAssertionTypeDenySystemSleep */
}
if (sysevent.event & SYSEVENT_WOKE)