-diff -up cups-2.2.7/scheduler/avahi.c.avahi-no-threaded cups-2.2.7/scheduler/avahi.c
---- cups-2.2.7/scheduler/avahi.c.avahi-no-threaded 2018-04-03 14:27:17.067410826 +0200
-+++ cups-2.2.7/scheduler/avahi.c 2018-04-03 14:27:17.067410826 +0200
+diff -urNp -x '*.orig' cups-2.3.3.org/scheduler/Makefile cups-2.3.3/scheduler/Makefile
+--- cups-2.3.3.org/scheduler/Makefile 2020-04-27 20:04:29.000000000 +0200
++++ cups-2.3.3/scheduler/Makefile 2021-04-20 22:45:53.873155054 +0200
+@@ -12,6 +12,7 @@ include ../Makedefs
+
+ CUPSDOBJS = \
+ auth.o \
++ avahi.o \
+ banners.o \
+ cert.o \
+ classes.o \
+@@ -35,7 +36,8 @@ CUPSDOBJS = \
+ server.o \
+ statbuf.o \
+ subscriptions.o \
+- sysman.o
++ sysman.o \
++ timeout.o
+ LIBOBJS = \
+ filter.o \
+ mime.o \
+diff -urNp -x '*.orig' cups-2.3.3.org/scheduler/avahi.c cups-2.3.3/scheduler/avahi.c
+--- cups-2.3.3.org/scheduler/avahi.c 1970-01-01 01:00:00.000000000 +0100
++++ cups-2.3.3/scheduler/avahi.c 2021-04-20 22:45:53.873155054 +0200
@@ -0,0 +1,441 @@
+/*
+ * "$Id$"
+/*
+ * End of "$Id$".
+ */
-diff -up cups-2.2.7/scheduler/avahi.h.avahi-no-threaded cups-2.2.7/scheduler/avahi.h
---- cups-2.2.7/scheduler/avahi.h.avahi-no-threaded 2018-04-03 14:27:17.067410826 +0200
-+++ cups-2.2.7/scheduler/avahi.h 2018-04-03 14:27:17.067410826 +0200
+diff -urNp -x '*.orig' cups-2.3.3.org/scheduler/avahi.h cups-2.3.3/scheduler/avahi.h
+--- cups-2.3.3.org/scheduler/avahi.h 1970-01-01 01:00:00.000000000 +0100
++++ cups-2.3.3/scheduler/avahi.h 2021-04-20 22:45:53.873155054 +0200
@@ -0,0 +1,69 @@
+/*
+ * "$Id$"
+/*
+ * End of "$Id$".
+ */
-diff -up cups-2.2.7/scheduler/cupsd.h.avahi-no-threaded cups-2.2.7/scheduler/cupsd.h
---- cups-2.2.7/scheduler/cupsd.h.avahi-no-threaded 2018-03-23 04:48:36.000000000 +0100
-+++ cups-2.2.7/scheduler/cupsd.h 2018-04-03 14:27:17.067410826 +0200
-@@ -118,6 +118,7 @@ extern const char *cups_hstrerror(int);
+diff -urNp -x '*.orig' cups-2.3.3.org/scheduler/cupsd.h cups-2.3.3/scheduler/cupsd.h
+--- cups-2.3.3.org/scheduler/cupsd.h 2020-04-27 20:04:29.000000000 +0200
++++ cups-2.3.3/scheduler/cupsd.h 2021-04-20 22:45:53.873155054 +0200
+@@ -115,6 +115,7 @@ extern const char *cups_hstrerror(int);
#include "colorman.h"
#include "conf.h"
#include "banners.h"
#include "dirsvc.h"
#include "network.h"
#include "subscriptions.h"
-@@ -138,6 +139,15 @@ extern const char *cups_hstrerror(int);
+@@ -135,6 +136,15 @@ extern const char *cups_hstrerror(int);
typedef void (*cupsd_selfunc_t)(void *data);
/*
* Globals...
-@@ -162,6 +172,9 @@ VAR int OnDemand VALUE(0);
+@@ -159,6 +169,9 @@ VAR int OnDemand VALUE(0);
/* Launched on demand */
#endif /* HAVE_ONDEMAND */
/*
* Prototypes...
-@@ -224,3 +237,15 @@ extern void cupsdStopSelect(void);
+@@ -220,3 +233,15 @@ extern void cupsdStopSelect(void);
/* server.c */
extern void cupsdStartServer(void);
extern void cupsdStopServer(void);
+extern void cupsdRemoveTimeout (cupsd_timeout_t *timeout);
+#endif /* HAVE_AVAHI */
\ No newline at end of file
-diff -up cups-2.2.7/scheduler/dirsvc.c.avahi-no-threaded cups-2.2.7/scheduler/dirsvc.c
---- cups-2.2.7/scheduler/dirsvc.c.avahi-no-threaded 2018-03-23 04:48:36.000000000 +0100
-+++ cups-2.2.7/scheduler/dirsvc.c 2018-04-03 14:30:13.099422499 +0200
-@@ -193,7 +193,7 @@ cupsdStartBrowsing(void)
+diff -urNp -x '*.orig' cups-2.3.3.org/scheduler/dirsvc.c cups-2.3.3/scheduler/dirsvc.c
+--- cups-2.3.3.org/scheduler/dirsvc.c 2020-04-27 20:04:29.000000000 +0200
++++ cups-2.3.3/scheduler/dirsvc.c 2021-04-20 22:45:53.873155054 +0200
+@@ -190,7 +190,7 @@ cupsdStartBrowsing(void)
cupsdUpdateDNSSDName();
# else /* HAVE_AVAHI */
{
cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to create DNS-SD thread.");
-@@ -204,7 +204,7 @@ cupsdStartBrowsing(void)
+@@ -201,7 +201,7 @@ cupsdStartBrowsing(void)
{
int error; /* Error code, if any */
if (DNSSDClient == NULL)
{
-@@ -215,11 +215,9 @@ cupsdStartBrowsing(void)
+@@ -212,11 +212,9 @@ cupsdStartBrowsing(void)
if (FatalErrors & CUPSD_FATAL_BROWSE)
cupsdEndProcess(getpid(), 0);
}
# endif /* HAVE_DNSSD */
}
-@@ -635,7 +633,7 @@ dnssdClientCallback(
+@@ -632,7 +630,7 @@ dnssdClientCallback(
* Renew Avahi client...
*/
if (!DNSSDClient)
{
-@@ -701,17 +699,11 @@ dnssdDeregisterInstance(
+@@ -698,17 +696,11 @@ dnssdDeregisterInstance(
*srv = NULL;
# else /* HAVE_AVAHI */
# endif /* HAVE_DNSSD */
}
-@@ -1030,16 +1022,10 @@ dnssdRegisterInstance(
+@@ -1027,16 +1019,10 @@ dnssdRegisterInstance(
(void)commit;
# else /* HAVE_AVAHI */
cupsdLogMessage(CUPSD_LOG_WARN, "DNS-SD registration of \"%s\" failed: %s",
name, dnssdErrorString(avahi_client_errno(DNSSDClient)));
return (0);
-@@ -1154,9 +1140,6 @@ dnssdRegisterInstance(
+@@ -1151,9 +1137,6 @@ dnssdRegisterInstance(
cupsdLogMessage(CUPSD_LOG_DEBUG, "DNS-SD commit of \"%s\" failed.",
name);
}
# endif /* HAVE_DNSSD */
if (error)
-@@ -1327,9 +1310,6 @@ dnssdStop(void)
+@@ -1324,9 +1307,6 @@ dnssdStop(void)
DNSSDMaster = NULL;
# else /* HAVE_AVAHI */
if (DNSSDClient)
{
avahi_client_free(DNSSDClient);
-@@ -1338,7 +1318,7 @@ dnssdStop(void)
+@@ -1335,7 +1315,7 @@ dnssdStop(void)
if (DNSSDMaster)
{
DNSSDMaster = NULL;
}
# endif /* HAVE_DNSSD */
-diff -up cups-2.2.7/scheduler/dirsvc.h.avahi-no-threaded cups-2.2.7/scheduler/dirsvc.h
---- cups-2.2.7/scheduler/dirsvc.h.avahi-no-threaded 2018-03-23 04:48:36.000000000 +0100
-+++ cups-2.2.7/scheduler/dirsvc.h 2018-04-03 14:27:17.068410820 +0200
-@@ -49,7 +49,7 @@ VAR cups_array_t *DNSSDPrinters VALUE(NU
+diff -urNp -x '*.orig' cups-2.3.3.org/scheduler/dirsvc.h cups-2.3.3/scheduler/dirsvc.h
+--- cups-2.3.3.org/scheduler/dirsvc.h 2020-04-27 20:04:29.000000000 +0200
++++ cups-2.3.3/scheduler/dirsvc.h 2021-04-20 22:45:53.873155054 +0200
+@@ -45,7 +45,7 @@ VAR cups_array_t *DNSSDPrinters VALUE(NU
VAR DNSServiceRef DNSSDMaster VALUE(NULL);
/* Master DNS-SD service reference */
# else /* HAVE_AVAHI */
/* Master polling interface for Avahi */
VAR AvahiClient *DNSSDClient VALUE(NULL);
/* Client information */
-diff -up cups-2.2.7/scheduler/main.c.avahi-no-threaded cups-2.2.7/scheduler/main.c
---- cups-2.2.7/scheduler/main.c.avahi-no-threaded 2018-04-03 14:27:17.057410882 +0200
-+++ cups-2.2.7/scheduler/main.c 2018-04-03 14:27:17.069410814 +0200
-@@ -131,7 +131,10 @@ main(int argc, /* I - Number of comm
- int service_idle_exit;
+diff -urNp -x '*.orig' cups-2.3.3.org/scheduler/main.c cups-2.3.3/scheduler/main.c
+--- cups-2.3.3.org/scheduler/main.c 2021-04-20 22:45:53.709821838 +0200
++++ cups-2.3.3/scheduler/main.c 2021-04-20 22:45:53.873155054 +0200
+@@ -132,7 +132,10 @@ main(int argc, /* I - Number of comm
+ int service_idle_exit = 0;
/* Idle exit on select timeout? */
#endif /* HAVE_ONDEMAND */
-
#ifdef HAVE_GETEUID
/*
-@@ -610,6 +613,14 @@ main(int argc, /* I - Number of comm
+@@ -600,6 +603,14 @@ main(int argc, /* I - Number of comm
httpInitialize();
cupsdStartServer();
/*
-@@ -928,6 +939,16 @@ main(int argc, /* I - Number of comm
+@@ -934,6 +945,16 @@ main(int argc, /* I - Number of comm
}
#endif /* __APPLE__ */
#ifndef __APPLE__
/*
* Update the network interfaces once a minute...
-@@ -1632,6 +1653,10 @@ select_timeout(int fds) /* I - Number
+@@ -1643,6 +1664,10 @@ select_timeout(int fds) /* I - Number
+ cupsd_client_t *con; /* Client information */
cupsd_job_t *job; /* Job information */
- cupsd_printer_t *printer; /* Printer information */
const char *why; /* Debugging aid */
+#ifdef HAVE_AVAHI
+ cupsd_timeout_t *tmo; /* Timed callback */
cupsdLogMessage(CUPSD_LOG_DEBUG2, "select_timeout: JobHistoryUpdate=%ld",
-@@ -1677,6 +1702,19 @@ select_timeout(int fds) /* I - Number
+@@ -1688,6 +1713,19 @@ select_timeout(int fds) /* I - Number
}
#endif /* __APPLE__ */
/*
* Check whether we are accepting new connections...
*/
-diff -up cups-2.2.7/scheduler/Makefile.avahi-no-threaded cups-2.2.7/scheduler/Makefile
---- cups-2.2.7/scheduler/Makefile.avahi-no-threaded 2018-03-23 04:48:36.000000000 +0100
-+++ cups-2.2.7/scheduler/Makefile 2018-04-03 14:27:17.069410814 +0200
-@@ -15,6 +15,7 @@ include ../Makedefs
-
- CUPSDOBJS = \
- auth.o \
-+ avahi.o \
- banners.o \
- cert.o \
- classes.o \
-@@ -38,7 +39,8 @@ CUPSDOBJS = \
- server.o \
- statbuf.o \
- subscriptions.o \
-- sysman.o
-+ sysman.o \
-+ timeout.o
- LIBOBJS = \
- filter.o \
- mime.o \
-diff -up cups-2.2.7/scheduler/timeout.c.avahi-no-threaded cups-2.2.7/scheduler/timeout.c
---- cups-2.2.7/scheduler/timeout.c.avahi-no-threaded 2018-04-03 14:27:17.069410814 +0200
-+++ cups-2.2.7/scheduler/timeout.c 2018-04-03 14:27:17.069410814 +0200
+diff -urNp -x '*.orig' cups-2.3.3.org/scheduler/timeout.c cups-2.3.3/scheduler/timeout.c
+--- cups-2.3.3.org/scheduler/timeout.c 1970-01-01 01:00:00.000000000 +0100
++++ cups-2.3.3/scheduler/timeout.c 2021-04-20 22:45:53.873155054 +0200
@@ -0,0 +1,235 @@
+/*
+ * "$Id$"