-CHANGES - 2.3.0 - 2019-06-17
+CHANGES - 2.3.0 - 2019-07-16
============================
- Fixed a NULL pointer dereference bug in `httpGetSubField2` (Issue #5598)
- Fixed an issue with unsupported "sides" values in the IPP backend
(rdar://51775322)
+- The scheduler would restart continuously when idle and printers were not
+ shared (rdar://52561199)
- Fixed an issue with `EXPECT !name WITH-VALUE ...` tests.
- Fixed a command ordering issue in the Zebra ZPL driver.
#ifdef HAVE_ONDEMAND
if (OnDemand)
+ {
+ stop_scheduler = 1;
break;
+ }
#endif /* HAVE_ONDEMAND */
DoingShutdown = 1;
#ifdef HAVE_ONDEMAND
if (OnDemand)
{
+ int shared_printers = 0; /* Do we have shared printers? */
+
strlcpy(pidfile, CUPS_KEEPALIVE, sizeof(pidfile));
+ /*
+ * If printer sharing is on see if there are any actual shared printers...
+ */
+
+ if (Browsing && BrowseLocalProtocols)
+ {
+ cupsd_printer_t *p = NULL; /* Current printer */
+
+ for (p = (cupsd_printer_t *)cupsArrayFirst(Printers); p; p = (cupsd_printer_t *)cupsArrayNext(Printers))
+ {
+ if (p->shared)
+ break;
+ }
+
+ shared_printers = (p != NULL);
+ }
+
if (cupsArrayCount(ActiveJobs) || /* Active jobs */
WebInterface || /* Web interface enabled */
NeedReload || /* Doing a reload */
- (Browsing && BrowseLocalProtocols && cupsArrayCount(Printers)))
- /* Printers being shared */
+ shared_printers) /* Printers being shared */
{
/*
* Create or remove the "keep-alive" file based on whether there are active