X-Git-Url: https://git.pld-linux.org/?p=packages%2Fcups.git;a=blobdiff_plain;f=cups-avahi-no-threaded.patch;h=a238b38a8d9c66e6a212cf0d87edfaac49982ca6;hp=a818c5f74529ab4eb969f4905c56bd2219dd9543;hb=e1e627e;hpb=3e1538e57b83f63a8917a29574f01dd20dc4bd9b diff --git a/cups-avahi-no-threaded.patch b/cups-avahi-no-threaded.patch index a818c5f..a238b38 100644 --- a/cups-avahi-no-threaded.patch +++ b/cups-avahi-no-threaded.patch @@ -1,6 +1,6 @@ -diff -up cups-1.7rc1/scheduler/avahi.c.avahi-no-threaded cups-1.7rc1/scheduler/avahi.c ---- cups-1.7rc1/scheduler/avahi.c.avahi-no-threaded 2013-07-22 11:47:27.599101572 +0100 -+++ cups-1.7rc1/scheduler/avahi.c 2013-07-22 11:47:27.599101572 +0100 +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 @@ -0,0 +1,441 @@ +/* + * "$Id$" @@ -443,9 +443,9 @@ diff -up cups-1.7rc1/scheduler/avahi.c.avahi-no-threaded cups-1.7rc1/scheduler/a +/* + * End of "$Id$". + */ -diff -up cups-1.7rc1/scheduler/avahi.h.avahi-no-threaded cups-1.7rc1/scheduler/avahi.h ---- cups-1.7rc1/scheduler/avahi.h.avahi-no-threaded 2013-07-22 11:47:27.599101572 +0100 -+++ cups-1.7rc1/scheduler/avahi.h 2013-07-22 11:47:27.599101572 +0100 +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 @@ -0,0 +1,69 @@ +/* + * "$Id$" @@ -516,10 +516,10 @@ diff -up cups-1.7rc1/scheduler/avahi.h.avahi-no-threaded cups-1.7rc1/scheduler/a +/* + * End of "$Id$". + */ -diff -up cups-1.7rc1/scheduler/cupsd.h.avahi-no-threaded cups-1.7rc1/scheduler/cupsd.h ---- cups-1.7rc1/scheduler/cupsd.h.avahi-no-threaded 2013-05-29 12:51:34.000000000 +0100 -+++ cups-1.7rc1/scheduler/cupsd.h 2013-07-22 11:47:31.319118984 +0100 -@@ -119,6 +119,7 @@ extern const char *cups_hstrerror(int); +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); #include "colorman.h" #include "conf.h" #include "banners.h" @@ -527,7 +527,7 @@ diff -up cups-1.7rc1/scheduler/cupsd.h.avahi-no-threaded cups-1.7rc1/scheduler/c #include "dirsvc.h" #include "network.h" #include "subscriptions.h" -@@ -139,6 +140,15 @@ extern const char *cups_hstrerror(int); +@@ -138,6 +139,15 @@ extern const char *cups_hstrerror(int); typedef void (*cupsd_selfunc_t)(void *data); @@ -543,22 +543,21 @@ diff -up cups-1.7rc1/scheduler/cupsd.h.avahi-no-threaded cups-1.7rc1/scheduler/c /* * Globals... -@@ -165,6 +175,11 @@ VAR int Launchd VALUE(0); - /* Running from launchd */ - #endif /* HAVE_LAUNCH_H */ +@@ -162,6 +172,9 @@ VAR int OnDemand VALUE(0); + /* Launched on demand */ + #endif /* HAVE_ONDEMAND */ +#ifdef HAVE_AVAHI +VAR cups_array_t *Timeouts; /* Timed callbacks for main loop */ +#endif /* HAVE_AVAHI */ -+ -+ /* * Prototypes... -@@ -229,6 +244,17 @@ extern void cupsdStopSelect(void); +@@ -224,3 +237,15 @@ extern void cupsdStopSelect(void); + /* server.c */ extern void cupsdStartServer(void); extern void cupsdStopServer(void); - ++ +#ifdef HAVE_AVAHI +extern void cupsdInitTimeouts(void); +extern cupsd_timeout_t *cupsdAddTimeout (const struct timeval *tv, @@ -570,14 +569,12 @@ diff -up cups-1.7rc1/scheduler/cupsd.h.avahi-no-threaded cups-1.7rc1/scheduler/c + const struct timeval *tv); +extern void cupsdRemoveTimeout (cupsd_timeout_t *timeout); +#endif /* HAVE_AVAHI */ - - /* - * End of "$Id: cupsd.h 10996 2013-05-29 11:51:34Z msweet $". -diff -up cups-1.7rc1/scheduler/dirsvc.c.avahi-no-threaded cups-1.7rc1/scheduler/dirsvc.c ---- cups-1.7rc1/scheduler/dirsvc.c.avahi-no-threaded 2013-05-29 12:51:34.000000000 +0100 -+++ cups-1.7rc1/scheduler/dirsvc.c 2013-07-22 11:47:27.600101576 +0100 -@@ -212,7 +212,7 @@ cupsdStartBrowsing(void) - } +\ 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) + cupsdUpdateDNSSDName(); # else /* HAVE_AVAHI */ - if ((DNSSDMaster = avahi_threaded_poll_new()) == NULL) @@ -585,16 +582,16 @@ diff -up cups-1.7rc1/scheduler/dirsvc.c.avahi-no-threaded cups-1.7rc1/scheduler/ { cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to create DNS-SD thread."); -@@ -223,7 +223,7 @@ cupsdStartBrowsing(void) +@@ -204,7 +204,7 @@ cupsdStartBrowsing(void) { int error; /* Error code, if any */ -- DNSSDClient = avahi_client_new(avahi_threaded_poll_get(DNSSDMaster), 0, -+ DNSSDClient = avahi_client_new(avahi_cups_poll_get(DNSSDMaster), 0, - NULL, NULL, &error); +- DNSSDClient = avahi_client_new(avahi_threaded_poll_get(DNSSDMaster), AVAHI_CLIENT_NO_FAIL, dnssdClientCallback, NULL, &error); ++ DNSSDClient = avahi_client_new(avahi_cups_poll_get(DNSSDMaster), AVAHI_CLIENT_NO_FAIL, dnssdClientCallback, NULL, &error); if (DNSSDClient == NULL) -@@ -235,11 +235,9 @@ cupsdStartBrowsing(void) + { +@@ -215,11 +215,9 @@ cupsdStartBrowsing(void) if (FatalErrors & CUPSD_FATAL_BROWSE) cupsdEndProcess(getpid(), 0); @@ -606,54 +603,84 @@ diff -up cups-1.7rc1/scheduler/dirsvc.c.avahi-no-threaded cups-1.7rc1/scheduler/ - avahi_threaded_poll_start(DNSSDMaster); } # endif /* HAVE_DNSSD */ + } +@@ -635,7 +633,7 @@ dnssdClientCallback( + * Renew Avahi client... + */ -@@ -746,9 +744,7 @@ dnssdDeregisterInstance( - DNSServiceRefDeallocate(*srv); +- DNSSDClient = avahi_client_new(avahi_threaded_poll_get(DNSSDMaster), AVAHI_CLIENT_NO_FAIL, dnssdClientCallback, NULL, &error); ++ DNSSDClient = avahi_client_new(avahi_cups_poll_get(DNSSDMaster), AVAHI_CLIENT_NO_FAIL, dnssdClientCallback, NULL, &error); + + if (!DNSSDClient) + { +@@ -701,17 +699,11 @@ dnssdDeregisterInstance( + *srv = NULL; # else /* HAVE_AVAHI */ -- avahi_threaded_poll_lock(DNSSDMaster); - avahi_entry_group_free(*srv); -- avahi_threaded_poll_unlock(DNSSDMaster); +- if (!from_callback) +- avahi_threaded_poll_lock(DNSSDMaster); +- + if (*srv) + { + avahi_entry_group_free(*srv); + *srv = NULL; + } +- +- if (!from_callback) +- avahi_threaded_poll_unlock(DNSSDMaster); # endif /* HAVE_DNSSD */ + } - *srv = NULL; -@@ -1043,14 +1039,10 @@ dnssdRegisterInstance( +@@ -1030,16 +1022,10 @@ dnssdRegisterInstance( (void)commit; # else /* HAVE_AVAHI */ -- avahi_threaded_poll_lock(DNSSDMaster); +- if (!from_callback) +- avahi_threaded_poll_lock(DNSSDMaster); - if (!*srv) *srv = avahi_entry_group_new(DNSSDClient, dnssdRegisterCallback, NULL); if (!*srv) { -- avahi_threaded_poll_unlock(DNSSDMaster); +- if (!from_callback) +- avahi_threaded_poll_unlock(DNSSDMaster); - cupsdLogMessage(CUPSD_LOG_WARN, "DNS-SD registration of \"%s\" failed: %s", name, dnssdErrorString(avahi_client_errno(DNSSDClient))); return (0); -@@ -1165,8 +1157,6 @@ dnssdRegisterInstance( +@@ -1154,9 +1140,6 @@ dnssdRegisterInstance( cupsdLogMessage(CUPSD_LOG_DEBUG, "DNS-SD commit of \"%s\" failed.", name); } - -- avahi_threaded_poll_unlock(DNSSDMaster); +- if (!from_callback) +- avahi_threaded_poll_unlock(DNSSDMaster); # endif /* HAVE_DNSSD */ if (error) -@@ -1338,7 +1328,7 @@ dnssdStop(void) - avahi_client_free(DNSSDClient); - DNSSDClient = NULL; - -- avahi_threaded_poll_free(DNSSDMaster); -+ avahi_cups_poll_free(DNSSDMaster); +@@ -1327,9 +1310,6 @@ dnssdStop(void) DNSSDMaster = NULL; - # endif /* HAVE_DNSSD */ -diff -up cups-1.7rc1/scheduler/dirsvc.h.avahi-no-threaded cups-1.7rc1/scheduler/dirsvc.h ---- cups-1.7rc1/scheduler/dirsvc.h.avahi-no-threaded 2013-05-29 12:51:34.000000000 +0100 -+++ cups-1.7rc1/scheduler/dirsvc.h 2013-07-22 11:47:27.600101576 +0100 -@@ -51,7 +51,7 @@ VAR cups_array_t *DNSSDPrinters VALUE(NU + # else /* HAVE_AVAHI */ +- if (DNSSDMaster) +- avahi_threaded_poll_stop(DNSSDMaster); +- + if (DNSSDClient) + { + avahi_client_free(DNSSDClient); +@@ -1338,7 +1318,7 @@ dnssdStop(void) + + if (DNSSDMaster) + { +- avahi_threaded_poll_free(DNSSDMaster); ++ avahi_cups_poll_free(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 VAR DNSServiceRef DNSSDMaster VALUE(NULL); /* Master DNS-SD service reference */ # else /* HAVE_AVAHI */ @@ -662,21 +689,22 @@ diff -up cups-1.7rc1/scheduler/dirsvc.h.avahi-no-threaded cups-1.7rc1/scheduler/ /* Master polling interface for Avahi */ VAR AvahiClient *DNSSDClient VALUE(NULL); /* Client information */ -diff -up cups-1.7rc1/scheduler/main.c.avahi-no-threaded cups-1.7rc1/scheduler/main.c ---- cups-1.7rc1/scheduler/main.c.avahi-no-threaded 2013-07-22 11:47:27.578101474 +0100 -+++ cups-1.7rc1/scheduler/main.c 2013-07-22 11:47:27.601101581 +0100 -@@ -155,6 +155,10 @@ main(int argc, /* I - Number of comm - int launchd_idle_exit; +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; /* Idle exit on select timeout? */ - #endif /* HAVE_LAUNCHD */ + #endif /* HAVE_ONDEMAND */ +- +#ifdef HAVE_AVAHI + cupsd_timeout_t *tmo; /* Next scheduled timed callback */ + long tmo_delay; /* Time before it must be called */ +#endif /* HAVE_AVAHI */ - #ifdef HAVE_GETEUID -@@ -596,6 +600,14 @@ main(int argc, /* I - Number of comm + /* +@@ -610,6 +613,14 @@ main(int argc, /* I - Number of comm httpInitialize(); @@ -691,7 +719,7 @@ diff -up cups-1.7rc1/scheduler/main.c.avahi-no-threaded cups-1.7rc1/scheduler/ma cupsdStartServer(); /* -@@ -917,6 +929,16 @@ main(int argc, /* I - Number of comm +@@ -928,6 +939,16 @@ main(int argc, /* I - Number of comm } #endif /* __APPLE__ */ @@ -708,9 +736,9 @@ diff -up cups-1.7rc1/scheduler/main.c.avahi-no-threaded cups-1.7rc1/scheduler/ma #ifndef __APPLE__ /* * Update the network interfaces once a minute... -@@ -1897,6 +1919,10 @@ select_timeout(int fds) /* I - Number +@@ -1632,6 +1653,10 @@ select_timeout(int fds) /* I - Number cupsd_job_t *job; /* Job information */ - cupsd_subscription_t *sub; /* Subscription information */ + cupsd_printer_t *printer; /* Printer information */ const char *why; /* Debugging aid */ +#ifdef HAVE_AVAHI + cupsd_timeout_t *tmo; /* Timed callback */ @@ -719,7 +747,7 @@ diff -up cups-1.7rc1/scheduler/main.c.avahi-no-threaded cups-1.7rc1/scheduler/ma cupsdLogMessage(CUPSD_LOG_DEBUG2, "select_timeout: JobHistoryUpdate=%ld", -@@ -1942,6 +1968,19 @@ select_timeout(int fds) /* I - Number +@@ -1677,6 +1702,19 @@ select_timeout(int fds) /* I - Number } #endif /* __APPLE__ */ @@ -739,10 +767,10 @@ diff -up cups-1.7rc1/scheduler/main.c.avahi-no-threaded cups-1.7rc1/scheduler/ma /* * Check whether we are accepting new connections... */ -diff -up cups-1.7rc1/scheduler/Makefile.avahi-no-threaded cups-1.7rc1/scheduler/Makefile ---- cups-1.7rc1/scheduler/Makefile.avahi-no-threaded 2013-07-22 11:47:27.578101474 +0100 -+++ cups-1.7rc1/scheduler/Makefile 2013-07-22 11:47:27.601101581 +0100 -@@ -17,6 +17,7 @@ include ../Makedefs +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 \ @@ -750,17 +778,19 @@ diff -up cups-1.7rc1/scheduler/Makefile.avahi-no-threaded cups-1.7rc1/scheduler/ banners.o \ cert.o \ classes.o \ -@@ -41,6 +42,7 @@ CUPSDOBJS = \ +@@ -38,7 +39,8 @@ CUPSDOBJS = \ + server.o \ statbuf.o \ subscriptions.o \ - sysman.o \ -+ timeout.o \ - tls.o +- sysman.o ++ sysman.o \ ++ timeout.o LIBOBJS = \ filter.o \ -diff -up cups-1.7rc1/scheduler/timeout.c.avahi-no-threaded cups-1.7rc1/scheduler/timeout.c ---- cups-1.7rc1/scheduler/timeout.c.avahi-no-threaded 2013-07-22 11:47:27.601101581 +0100 -+++ cups-1.7rc1/scheduler/timeout.c 2013-07-22 11:47:27.601101581 +0100 + 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 @@ -0,0 +1,235 @@ +/* + * "$Id$"