choosing them for draft, normal, and best quality modes (Issue #5091)
- Fixed the localization unit test on Linux (Issue #5097)
- The CUPS library did not reuse domain sockets (Issue #5098)
+- The scheduler woke up once per second to remove old temporary queues
+ (Issue #5100)
- Added USB quirk rule for Kyocera printer (Issue #5102, Issue #5103)
- `httpAddrConnect` leaked sockets in certain circumstances, causing some
printers to hang (rdar://31965686)
current_time = time(NULL);
event_time = current_time;
expire_time = current_time;
- local_timeout = current_time + 60;
+ local_timeout = 0;
fds = 1;
report_time = 0;
senddoc_time = current_time;
*/
if (current_time >= local_timeout)
+ {
cupsdDeleteTemporaryPrinters(0);
+ local_timeout = 0;
+ }
#ifndef HAVE_AUTHORIZATION_H
/*
for (printer = (cupsd_printer_t *)cupsArrayFirst(Printers); printer; printer = (cupsd_printer_t *)cupsArrayNext(Printers))
{
- if (printer->temporary && !printer->job && local_timeout > (printer->state_time + 60))
+ if (printer->temporary && !printer->job && (!local_timeout || local_timeout > (printer->state_time + 60)))
local_timeout = printer->state_time + 60;
}
- if (timeout > local_timeout)
+ if (timeout > local_timeout && local_timeout)
{
timeout = local_timeout;
why = "delete stale local printers";