diff options
author | msweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be> | 2012-01-19 16:53:50 +0000 |
---|---|---|
committer | msweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be> | 2012-01-19 16:53:50 +0000 |
commit | dcb445bcf3e9ec2efd56550263052aca70beb08e (patch) | |
tree | 9a0d2260f2bbfdc8a6aa561c138baca1a58f8228 /scheduler/sysman.c | |
parent | 9c80ffa289171a48b10cbda2098289ed0c7b96cc (diff) | |
download | cups-dcb445bcf3e9ec2efd56550263052aca70beb08e.tar.gz |
Merge changes from CUPS 1.6svn-r10188, including changes for <rdar://problem/10127258> CUPS 1.6: New printer/printing APIs
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3618 a1ca3aef-8c08-0410-bb20-df032aa958be
Diffstat (limited to 'scheduler/sysman.c')
-rw-r--r-- | scheduler/sysman.c | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/scheduler/sysman.c b/scheduler/sysman.c index c57d6e4fb..6638db5ea 100644 --- a/scheduler/sysman.c +++ b/scheduler/sysman.c @@ -870,13 +870,18 @@ sysUpdate(void) #ifdef kIOPMAssertionTypeDenySystemSleep /* - * Tell the OS it is OK to sleep when we remove our assertion... + * Remove our assertion as needed since the user wants the system to + * sleep (different than idle sleep)... */ - IOAllowPowerChange(sysevent.powerKernelPort, - sysevent.powerNotificationID); + if (dark_wake) + { + cupsdLogMessage(CUPSD_LOG_DEBUG, "Releasing dark wake assertion."); + IOPMAssertionRelease(dark_wake); + dark_wake = 0; + } +#endif /* kIOPMAssertionTypeDenySystemSleep */ -#else /* * If we have no printing jobs, allow the power change immediately. * Otherwise set the SleepJobs time to 15 seconds in the future when @@ -920,7 +925,6 @@ sysUpdate(void) sysevent.powerNotificationID); } } -#endif /* kIOPMAssertionTypeDenySystemSleep */ } if (sysevent.event & SYSEVENT_WOKE) @@ -929,6 +933,17 @@ sysUpdate(void) IOAllowPowerChange(sysevent.powerKernelPort, sysevent.powerNotificationID); Sleeping = 0; + +#ifdef kIOPMAssertionTypeDenySystemSleep + if (cupsArrayCount(PrintingJobs) > 0 && !dark_wake) + { + cupsdLogMessage(CUPSD_LOG_DEBUG, "Asserting dark wake."); + IOPMAssertionCreateWithName(kIOPMAssertionTypeDenySystemSleep, + kIOPMAssertionLevelOn, + CFSTR("org.cups.cupsd"), &dark_wake); + } +#endif /* kIOPMAssertionTypeDenySystemSleep */ + cupsdCheckJobs(); } |