]> git.pld-linux.org Git - packages/cups.git/blobdiff - cups-avahi-no-threaded.patch
- up to 2.2.5
[packages/cups.git] / cups-avahi-no-threaded.patch
index a818c5f74529ab4eb969f4905c56bd2219dd9543..942bbf5ec7f54971158792e9d85cf9c755133228 100644 (file)
@@ -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.5/scheduler/avahi.c.avahi-no-threaded cups-2.2.5/scheduler/avahi.c
+--- cups-2.2.5/scheduler/avahi.c.avahi-no-threaded     2017-10-17 19:03:00.760881016 +0200
++++ cups-2.2.5/scheduler/avahi.c       2017-10-17 19:03:00.760881016 +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.5/scheduler/avahi.h.avahi-no-threaded cups-2.2.5/scheduler/avahi.h
+--- cups-2.2.5/scheduler/avahi.h.avahi-no-threaded     2017-10-17 19:03:00.760881016 +0200
++++ cups-2.2.5/scheduler/avahi.h       2017-10-17 19:03:00.760881016 +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.5/scheduler/cupsd.h.avahi-no-threaded cups-2.2.5/scheduler/cupsd.h
+--- cups-2.2.5/scheduler/cupsd.h.avahi-no-threaded     2017-10-13 20:22:26.000000000 +0200
++++ cups-2.2.5/scheduler/cupsd.h       2017-10-17 19:03:00.760881016 +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.5/scheduler/dirsvc.c.avahi-no-threaded cups-2.2.5/scheduler/dirsvc.c
+--- cups-2.2.5/scheduler/dirsvc.c.avahi-no-threaded    2017-10-13 20:22:26.000000000 +0200
++++ cups-2.2.5/scheduler/dirsvc.c      2017-10-17 19:05:35.938592292 +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,80 @@ 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,13 +699,7 @@ dnssdDeregisterInstance(
  #  else /* HAVE_AVAHI */
--  avahi_threaded_poll_lock(DNSSDMaster);
-   avahi_entry_group_free(*srv);
--  avahi_threaded_poll_unlock(DNSSDMaster);
+   if (*srv)
+   {
+-    if (!from_callback)
+-      avahi_threaded_poll_lock(DNSSDMaster);
+-
+     avahi_entry_group_free(*srv);
+-
+-    if (!from_callback)
+-      avahi_threaded_poll_unlock(DNSSDMaster);
+   }
  #  endif /* HAVE_DNSSD */
  
-   *srv = NULL;
-@@ -1043,14 +1039,10 @@ dnssdRegisterInstance(
+@@ -1029,16 +1021,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(
+@@ -1153,9 +1139,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);
+@@ -1326,9 +1309,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);
+@@ -1337,7 +1317,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.5/scheduler/dirsvc.h.avahi-no-threaded cups-2.2.5/scheduler/dirsvc.h
+--- cups-2.2.5/scheduler/dirsvc.h.avahi-no-threaded    2017-10-13 20:22:26.000000000 +0200
++++ cups-2.2.5/scheduler/dirsvc.h      2017-10-17 19:03:00.761881007 +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 +685,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.5/scheduler/main.c.avahi-no-threaded cups-2.2.5/scheduler/main.c
+--- cups-2.2.5/scheduler/main.c.avahi-no-threaded      2017-10-17 19:03:00.753881074 +0200
++++ cups-2.2.5/scheduler/main.c        2017-10-17 19:03:00.761881007 +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 +715,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 +732,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 +743,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 +763,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.5/scheduler/Makefile.avahi-no-threaded cups-2.2.5/scheduler/Makefile
+--- cups-2.2.5/scheduler/Makefile.avahi-no-threaded    2017-10-13 20:22:26.000000000 +0200
++++ cups-2.2.5/scheduler/Makefile      2017-10-17 19:03:00.762880999 +0200
+@@ -15,6 +15,7 @@ include ../Makedefs
  
  CUPSDOBJS =   \
                auth.o \
@@ -750,17 +774,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.5/scheduler/timeout.c.avahi-no-threaded cups-2.2.5/scheduler/timeout.c
+--- cups-2.2.5/scheduler/timeout.c.avahi-no-threaded   2017-10-17 19:03:00.762880999 +0200
++++ cups-2.2.5/scheduler/timeout.c     2017-10-17 19:03:00.762880999 +0200
 @@ -0,0 +1,235 @@
 +/*
 + * "$Id$"
This page took 0.049888 seconds and 4 git commands to generate.