-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-1.7.2/scheduler/avahi.c.avahi-no-threaded cups-1.7.2/scheduler/avahi.c
+--- cups-1.7.2/scheduler/avahi.c.avahi-no-threaded 2014-04-14 13:56:52.632617316 +0200
++++ cups-1.7.2/scheduler/avahi.c 2014-04-14 13:56:52.631617331 +0200
@@ -0,0 +1,441 @@
+/*
+ * "$Id$"
+/*
+ * 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-1.7.2/scheduler/avahi.h.avahi-no-threaded cups-1.7.2/scheduler/avahi.h
+--- cups-1.7.2/scheduler/avahi.h.avahi-no-threaded 2014-04-14 13:56:52.632617316 +0200
++++ cups-1.7.2/scheduler/avahi.h 2014-04-14 13:56:52.632617316 +0200
@@ -0,0 +1,69 @@
+/*
+ * "$Id$"
+/*
+ * 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
+diff -up cups-1.7.2/scheduler/cupsd.h.avahi-no-threaded cups-1.7.2/scheduler/cupsd.h
+--- cups-1.7.2/scheduler/cupsd.h.avahi-no-threaded 2013-05-29 13:51:34.000000000 +0200
++++ cups-1.7.2/scheduler/cupsd.h 2014-04-14 13:56:52.632617316 +0200
@@ -119,6 +119,7 @@ extern const char *cups_hstrerror(int);
#include "colorman.h"
#include "conf.h"
/*
* 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)
- }
+diff -up cups-1.7.2/scheduler/dirsvc.c.avahi-no-threaded cups-1.7.2/scheduler/dirsvc.c
+--- cups-1.7.2/scheduler/dirsvc.c.avahi-no-threaded 2014-03-05 22:11:32.000000000 +0100
++++ cups-1.7.2/scheduler/dirsvc.c 2014-04-14 14:21:11.121344106 +0200
+@@ -195,7 +195,7 @@ cupsdStartBrowsing(void)
+ cupsdUpdateDNSSDName();
# else /* HAVE_AVAHI */
- if ((DNSSDMaster = avahi_threaded_poll_new()) == NULL)
{
cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to create DNS-SD thread.");
-@@ -223,7 +223,7 @@ cupsdStartBrowsing(void)
+@@ -206,7 +206,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)
+ {
+@@ -217,11 +217,9 @@ cupsdStartBrowsing(void)
if (FatalErrors & CUPSD_FATAL_BROWSE)
cupsdEndProcess(getpid(), 0);
- avahi_threaded_poll_start(DNSSDMaster);
}
# endif /* HAVE_DNSSD */
+ }
+@@ -606,7 +604,7 @@ dnssdClientCallback(
+ * Renew Avahi client...
+ */
+
+- 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);
-@@ -746,9 +744,7 @@ dnssdDeregisterInstance(
+ if (!DNSSDClient)
+ {
+@@ -670,13 +668,7 @@ dnssdDeregisterInstance(
DNSServiceRefDeallocate(*srv);
# else /* HAVE_AVAHI */
-- avahi_threaded_poll_lock(DNSSDMaster);
+- if (!from_callback)
+- avahi_threaded_poll_lock(DNSSDMaster);
+-
avahi_entry_group_free(*srv);
-- avahi_threaded_poll_unlock(DNSSDMaster);
+-
+- if (!from_callback)
+- avahi_threaded_poll_unlock(DNSSDMaster);
# endif /* HAVE_DNSSD */
*srv = NULL;
-@@ -1043,14 +1039,10 @@ dnssdRegisterInstance(
+@@ -997,16 +989,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(
+@@ -1121,9 +1107,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)
+@@ -1294,12 +1277,10 @@ dnssdStop(void)
+ DNSSDMaster = NULL;
+
+ # else /* HAVE_AVAHI */
+- avahi_threaded_poll_stop(DNSSDMaster);
+-
avahi_client_free(DNSSDClient);
DNSSDClient = NULL;
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
+diff -up cups-1.7.2/scheduler/dirsvc.h.avahi-no-threaded cups-1.7.2/scheduler/dirsvc.h
+--- cups-1.7.2/scheduler/dirsvc.h.avahi-no-threaded 2013-05-29 13:51:34.000000000 +0200
++++ cups-1.7.2/scheduler/dirsvc.h 2014-04-14 13:56:52.633617302 +0200
@@ -51,7 +51,7 @@ VAR cups_array_t *DNSSDPrinters VALUE(NU
VAR DNSServiceRef DNSSDMaster VALUE(NULL);
/* Master DNS-SD service reference */
/* 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
+diff -up cups-1.7.2/scheduler/main.c.avahi-no-threaded cups-1.7.2/scheduler/main.c
+--- cups-1.7.2/scheduler/main.c.avahi-no-threaded 2014-04-14 13:56:52.600617782 +0200
++++ cups-1.7.2/scheduler/main.c 2014-04-14 13:56:52.634617287 +0200
+@@ -134,6 +134,10 @@ main(int argc, /* I - Number of comm
int launchd_idle_exit;
/* Idle exit on select timeout? */
#endif /* HAVE_LAUNCHD */
#ifdef HAVE_GETEUID
-@@ -596,6 +600,14 @@ main(int argc, /* I - Number of comm
+@@ -583,6 +587,14 @@ main(int argc, /* I - Number of comm
httpInitialize();
cupsdStartServer();
/*
-@@ -917,6 +929,16 @@ main(int argc, /* I - Number of comm
+@@ -904,6 +916,16 @@ main(int argc, /* I - Number of comm
}
#endif /* __APPLE__ */
#ifndef __APPLE__
/*
* Update the network interfaces once a minute...
-@@ -1897,6 +1919,10 @@ select_timeout(int fds) /* I - Number
+@@ -1884,6 +1906,10 @@ select_timeout(int fds) /* I - Number
cupsd_job_t *job; /* Job information */
cupsd_subscription_t *sub; /* Subscription information */
const char *why; /* Debugging aid */
cupsdLogMessage(CUPSD_LOG_DEBUG2, "select_timeout: JobHistoryUpdate=%ld",
-@@ -1942,6 +1968,19 @@ select_timeout(int fds) /* I - Number
+@@ -1929,6 +1955,19 @@ select_timeout(int fds) /* I - Number
}
#endif /* __APPLE__ */
/*
* 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
+diff -up cups-1.7.2/scheduler/Makefile.avahi-no-threaded cups-1.7.2/scheduler/Makefile
+--- cups-1.7.2/scheduler/Makefile.avahi-no-threaded 2014-04-14 13:56:52.600617782 +0200
++++ cups-1.7.2/scheduler/Makefile 2014-04-14 13:56:52.631617331 +0200
@@ -17,6 +17,7 @@ include ../Makedefs
CUPSDOBJS = \
tls.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
+diff -up cups-1.7.2/scheduler/timeout.c.avahi-no-threaded cups-1.7.2/scheduler/timeout.c
+--- cups-1.7.2/scheduler/timeout.c.avahi-no-threaded 2014-04-14 13:56:52.634617287 +0200
++++ cups-1.7.2/scheduler/timeout.c 2014-04-14 13:56:52.634617287 +0200
@@ -0,0 +1,235 @@
+/*
+ * "$Id$"
-diff -up cups-1.7rc1/config.h.in.systemd-socket cups-1.7rc1/config.h.in
---- cups-1.7rc1/config.h.in.systemd-socket 2013-05-29 13:51:34.000000000 +0200
-+++ cups-1.7rc1/config.h.in 2013-07-12 11:16:53.257546263 +0200
+diff -up cups-1.7.2/config.h.in.systemd-socket cups-1.7.2/config.h.in
+--- cups-1.7.2/config.h.in.systemd-socket 2014-02-27 16:57:59.000000000 +0100
++++ cups-1.7.2/config.h.in 2014-04-17 14:05:04.104472016 +0200
@@ -451,6 +451,13 @@
* Various scripting languages...
*/
-diff -up cups-1.7rc1/config-scripts/cups-systemd.m4.systemd-socket cups-1.7rc1/config-scripts/cups-systemd.m4
---- cups-1.7rc1/config-scripts/cups-systemd.m4.systemd-socket 2013-07-12 11:16:53.257546263 +0200
-+++ cups-1.7rc1/config-scripts/cups-systemd.m4 2013-07-12 11:16:53.257546263 +0200
+diff -up cups-1.7.2/config-scripts/cups-systemd.m4.systemd-socket cups-1.7.2/config-scripts/cups-systemd.m4
+--- cups-1.7.2/config-scripts/cups-systemd.m4.systemd-socket 2014-04-17 14:05:04.104472016 +0200
++++ cups-1.7.2/config-scripts/cups-systemd.m4 2014-04-17 14:05:04.104472016 +0200
@@ -0,0 +1,36 @@
+dnl
+dnl "$Id$"
+dnl
+dnl "$Id$"
+dnl
-diff -up cups-1.7rc1/configure.in.systemd-socket cups-1.7rc1/configure.in
---- cups-1.7rc1/configure.in.systemd-socket 2013-07-08 23:15:13.000000000 +0200
-+++ cups-1.7rc1/configure.in 2013-07-12 11:16:53.257546263 +0200
+diff -up cups-1.7.2/configure.in.systemd-socket cups-1.7.2/configure.in
+--- cups-1.7.2/configure.in.systemd-socket 2013-07-08 23:15:13.000000000 +0200
++++ cups-1.7.2/configure.in 2014-04-17 14:05:04.104472016 +0200
@@ -33,6 +33,7 @@ sinclude(config-scripts/cups-pam.m4)
sinclude(config-scripts/cups-largefile.m4)
sinclude(config-scripts/cups-dnssd.m4)
desktop/cups.desktop
doc/help/ref-cups-files-conf.html
doc/help/ref-cupsd-conf.html
-diff -up cups-1.7rc1/cups/usersys.c.systemd-socket cups-1.7rc1/cups/usersys.c
---- cups-1.7rc1/cups/usersys.c.systemd-socket 2013-07-10 16:08:39.000000000 +0200
-+++ cups-1.7rc1/cups/usersys.c 2013-07-12 11:16:53.258546249 +0200
-@@ -1046,7 +1046,7 @@ cups_read_client_conf(
+diff -up cups-1.7.2/cups/usersys.c.systemd-socket cups-1.7.2/cups/usersys.c
+--- cups-1.7.2/cups/usersys.c.systemd-socket 2014-03-05 22:22:12.000000000 +0100
++++ cups-1.7.2/cups/usersys.c 2014-04-17 14:05:04.105472002 +0200
+@@ -1050,7 +1050,7 @@ cups_read_client_conf(
struct stat sockinfo; /* Domain socket information */
if (!stat(CUPS_DEFAULT_DOMAINSOCKET, &sockinfo) &&
cups_server = CUPS_DEFAULT_DOMAINSOCKET;
else
#endif /* CUPS_DEFAULT_DOMAINSOCKET */
-diff -up cups-1.7rc1/data/cups.path.in.systemd-socket cups-1.7rc1/data/cups.path.in
---- cups-1.7rc1/data/cups.path.in.systemd-socket 2013-07-12 11:16:53.258546249 +0200
-+++ cups-1.7rc1/data/cups.path.in 2013-07-12 11:16:53.258546249 +0200
+diff -up cups-1.7.2/data/cups.path.in.systemd-socket cups-1.7.2/data/cups.path.in
+--- cups-1.7.2/data/cups.path.in.systemd-socket 2014-04-17 14:05:04.105472002 +0200
++++ cups-1.7.2/data/cups.path.in 2014-04-17 14:05:04.105472002 +0200
@@ -0,0 +1,8 @@
+[Unit]
+Description=CUPS Printer Service Spool
+
+[Install]
+WantedBy=multi-user.target
-diff -up cups-1.7rc1/data/cups.service.in.systemd-socket cups-1.7rc1/data/cups.service.in
---- cups-1.7rc1/data/cups.service.in.systemd-socket 2013-07-12 11:16:53.258546249 +0200
-+++ cups-1.7rc1/data/cups.service.in 2013-07-12 11:16:53.258546249 +0200
-@@ -0,0 +1,10 @@
+diff -up cups-1.7.2/data/cups.service.in.systemd-socket cups-1.7.2/data/cups.service.in
+--- cups-1.7.2/data/cups.service.in.systemd-socket 2014-04-17 14:05:04.105472002 +0200
++++ cups-1.7.2/data/cups.service.in 2014-04-17 14:05:04.105472002 +0200
+@@ -0,0 +1,11 @@
+[Unit]
+Description=CUPS Printing Service
+
+[Service]
++Type=notify
+ExecStart=@sbindir@/cupsd -f
+PrivateTmp=true
+
+[Install]
+Also=cups.socket cups.path
+WantedBy=printer.target
-diff -up cups-1.7rc1/data/cups.socket.in.systemd-socket cups-1.7rc1/data/cups.socket.in
---- cups-1.7rc1/data/cups.socket.in.systemd-socket 2013-07-12 11:16:53.259546235 +0200
-+++ cups-1.7rc1/data/cups.socket.in 2013-07-12 11:16:53.259546235 +0200
+diff -up cups-1.7.2/data/cups.socket.in.systemd-socket cups-1.7.2/data/cups.socket.in
+--- cups-1.7.2/data/cups.socket.in.systemd-socket 2014-04-17 14:05:04.105472002 +0200
++++ cups-1.7.2/data/cups.socket.in 2014-04-17 14:05:04.105472002 +0200
@@ -0,0 +1,8 @@
+[Unit]
+Description=CUPS Printing Service Sockets
+
+[Install]
+WantedBy=sockets.target
-diff -up cups-1.7rc1/data/Makefile.systemd-socket cups-1.7rc1/data/Makefile
---- cups-1.7rc1/data/Makefile.systemd-socket 2013-05-29 13:51:34.000000000 +0200
-+++ cups-1.7rc1/data/Makefile 2013-07-12 11:16:53.259546235 +0200
+diff -up cups-1.7.2/data/Makefile.systemd-socket cups-1.7.2/data/Makefile
+--- cups-1.7.2/data/Makefile.systemd-socket 2013-05-29 13:51:34.000000000 +0200
++++ cups-1.7.2/data/Makefile 2014-04-17 14:05:04.106471988 +0200
@@ -100,6 +100,12 @@ install-data:
$(INSTALL_DATA) $$file $(DATADIR)/ppdc; \
done
#
-diff -up cups-1.7rc1/Makedefs.in.systemd-socket cups-1.7rc1/Makedefs.in
---- cups-1.7rc1/Makedefs.in.systemd-socket 2013-07-12 11:16:53.246546416 +0200
-+++ cups-1.7rc1/Makedefs.in 2013-07-12 11:17:49.327768742 +0200
+diff -up cups-1.7.2/Makedefs.in.systemd-socket cups-1.7.2/Makedefs.in
+--- cups-1.7.2/Makedefs.in.systemd-socket 2014-04-17 14:05:04.092472182 +0200
++++ cups-1.7.2/Makedefs.in 2014-04-17 14:05:04.106471988 +0200
@@ -134,6 +134,7 @@ CXXFLAGS = @CPPFLAGS@ @CXXFLAGS@
CXXLIBS = @CXXLIBS@
DBUS_NOTIFIER = @DBUS_NOTIFIER@
LDFLAGS = -L../cgi-bin -L../cups -L../filter -L../ppdc \
-L../scheduler @LDARCHFLAGS@ \
@LDFLAGS@ @RELROFLAGS@ @PIEFLAGS@ $(OPTIM)
-@@ -231,6 +233,7 @@ PAMFILE = @PAMFILE@
+@@ -232,6 +234,7 @@ PAMFILE = @PAMFILE@
DEFAULT_LAUNCHD_CONF = @DEFAULT_LAUNCHD_CONF@
DBUSDIR = @DBUSDIR@
#
-diff -up cups-1.7rc1/scheduler/client.h.systemd-socket cups-1.7rc1/scheduler/client.h
---- cups-1.7rc1/scheduler/client.h.systemd-socket 2013-05-29 13:51:34.000000000 +0200
-+++ cups-1.7rc1/scheduler/client.h 2013-07-12 11:16:53.260546222 +0200
-@@ -77,6 +77,9 @@ typedef struct
+diff -up cups-1.7.2/scheduler/client.h.systemd-socket cups-1.7.2/scheduler/client.h
+--- cups-1.7.2/scheduler/client.h.systemd-socket 2013-08-02 00:23:18.000000000 +0200
++++ cups-1.7.2/scheduler/client.h 2014-04-17 14:05:04.106471988 +0200
+@@ -79,6 +79,9 @@ typedef struct
int fd; /* File descriptor for this server */
http_addr_t address; /* Bind address of socket */
http_encryption_t encryption; /* To encrypt or not to encrypt... */
} cupsd_listener_t;
-diff -up cups-1.7rc1/scheduler/listen.c.systemd-socket cups-1.7rc1/scheduler/listen.c
---- cups-1.7rc1/scheduler/listen.c.systemd-socket 2013-05-29 13:51:34.000000000 +0200
-+++ cups-1.7rc1/scheduler/listen.c 2013-07-12 11:16:53.260546222 +0200
+diff -up cups-1.7.2/scheduler/listen.c.systemd-socket cups-1.7.2/scheduler/listen.c
+--- cups-1.7.2/scheduler/listen.c.systemd-socket 2013-05-29 13:51:34.000000000 +0200
++++ cups-1.7.2/scheduler/listen.c 2014-04-17 14:05:04.107471974 +0200
@@ -401,7 +401,11 @@ cupsdStopListening(void)
lis;
lis = (cupsd_listener_t *)cupsArrayNext(Listeners))
{
#ifdef WIN32
closesocket(lis->fd);
-diff -up cups-1.7rc1/scheduler/main.c.systemd-socket cups-1.7rc1/scheduler/main.c
---- cups-1.7rc1/scheduler/main.c.systemd-socket 2013-07-12 11:16:53.212546887 +0200
-+++ cups-1.7rc1/scheduler/main.c 2013-07-12 11:16:53.261546208 +0200
-@@ -26,6 +26,8 @@
- * launchd_checkin() - Check-in with launchd and collect the listening
- * fds.
- * launchd_checkout() - Update the launchd KeepAlive file as needed.
-+ * systemd_checkin() - Check-in with systemd and collect the
-+ * listening fds.
- * parent_handler() - Catch USR1/CHLD signals...
- * process_children() - Process all dead children...
- * select_timeout() - Calculate the select timeout value.
-@@ -62,6 +64,10 @@
+diff -up cups-1.7.2/scheduler/main.c.systemd-socket cups-1.7.2/scheduler/main.c
+--- cups-1.7.2/scheduler/main.c.systemd-socket 2014-04-17 14:05:04.052472738 +0200
++++ cups-1.7.2/scheduler/main.c 2014-04-17 14:09:39.102634667 +0200
+@@ -39,6 +39,10 @@
# endif /* !LAUNCH_JOBKEY_SERVICEIPC */
#endif /* HAVE_LAUNCH_H */
#if defined(HAVE_MALLOC_H) && defined(HAVE_MALLINFO)
# include <malloc.h>
#endif /* HAVE_MALLOC_H && HAVE_MALLINFO */
-@@ -83,6 +89,9 @@
+@@ -64,6 +68,9 @@
static void launchd_checkin(void);
static void launchd_checkout(void);
#endif /* HAVE_LAUNCHD */
static void parent_handler(int sig);
static void process_children(void);
static void sigchld_handler(int sig);
-@@ -574,6 +583,13 @@ main(int argc, /* I - Number of comm
+@@ -563,6 +570,13 @@ main(int argc, /* I - Number of comm
}
#endif /* HAVE_LAUNCHD */
/*
* Startup the server...
*/
-@@ -762,6 +778,15 @@ main(int argc, /* I - Number of comm
+@@ -654,6 +668,12 @@ main(int argc, /* I - Number of comm
+ "Scheduler started via launchd.");
+ else
+ #endif /* HAVE_LAUNCHD */
++#ifdef HAVE_SYSTEMD
++ sd_notifyf(0, "READY=1\n"
++ "STATUS=Scheduler is running...\n"
++ "MAINPID=%lu",
++ (unsigned long) getpid());
++#endif /* HAVE_SYSTEMD */
+ if (fg)
+ cupsdAddEvent(CUPSD_EVENT_SERVER_STARTED, NULL, NULL,
+ "Scheduler started in foreground.");
+@@ -751,6 +771,15 @@ main(int argc, /* I - Number of comm
}
#endif /* HAVE_LAUNCHD */
/*
* Startup the server...
*/
-@@ -1511,6 +1536,102 @@ launchd_checkout(void)
+@@ -1500,6 +1529,102 @@ launchd_checkout(void)
}
#endif /* HAVE_LAUNCHD */
/*
* 'parent_handler()' - Catch USR1/CHLD signals...
-diff -up cups-1.7rc1/scheduler/Makefile.systemd-socket cups-1.7rc1/scheduler/Makefile
---- cups-1.7rc1/scheduler/Makefile.systemd-socket 2013-05-29 13:51:34.000000000 +0200
-+++ cups-1.7rc1/scheduler/Makefile 2013-07-12 11:16:53.261546208 +0200
+diff -up cups-1.7.2/scheduler/Makefile.systemd-socket cups-1.7.2/scheduler/Makefile
+--- cups-1.7.2/scheduler/Makefile.systemd-socket 2013-05-29 13:51:34.000000000 +0200
++++ cups-1.7.2/scheduler/Makefile 2014-04-17 14:05:04.108471960 +0200
@@ -381,7 +381,7 @@ cupsd: $(CUPSDOBJS) $(LIBCUPSMIME) ../cu
$(CC) $(LDFLAGS) -o cupsd $(CUPSDOBJS) -L. -lcupsmime \
$(LIBZ) $(SSLLIBS) $(LIBSLP) $(LIBLDAP) $(PAMLIBS) \