]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Switch from xpc_transaction_begin to os_transaction_create.
authorMichael R Sweet <michael.r.sweet@gmail.com>
Thu, 8 Nov 2018 20:52:50 +0000 (15:52 -0500)
committerMichael R Sweet <michael.r.sweet@gmail.com>
Thu, 8 Nov 2018 20:52:50 +0000 (15:52 -0500)
scheduler/main.c

index 472b9946dd6ba9442567ba1a0cd984b1acd8756a..b3df1d962931ebe878117909c2ebac90dbbb7396 100644 (file)
@@ -16,6 +16,9 @@
 #include "cupsd.h"
 #include <sys/resource.h>
 #ifdef __APPLE__
+#  include <os/object.h>
+typedef struct os_transaction_s *os_transaction_t;
+extern os_transaction_t os_transaction_create(const char *description);
 #  include <xpc/xpc.h>
 #  include <pthread/qos.h>
 #endif /* __APPLE__ */
@@ -88,7 +91,11 @@ static int           dead_children = 0;
 static int             stop_scheduler = 0;
                                        /* Should the scheduler stop? */
 static time_t           local_timeout = 0;
-                                        /* Next local printer timeout */
+                                       /* Next local printer timeout */
+#ifdef __APPLE__
+static os_transaction_t        launchd_transaction = NULL;
+                                       /* Transaction for launchd */
+#endif /* __APPLE__ */
 
 
 /*
@@ -1965,7 +1972,7 @@ service_checkin(void)
     free(ld_sockets);
 
 #  ifdef __APPLE__
-    xpc_transaction_begin();
+    launchd_transaction = os_transaction_create("org.cups.cupsd.active-printing");
 #  endif /* __APPLE__ */
   }
 
@@ -2107,8 +2114,11 @@ service_checkout(int shutdown)          /* I - Shutting down? */
   }
 
 #  ifdef __APPLE__
-  if (OnDemand && shutdown)
-    xpc_transaction_end();
+  if (OnDemand && shutdown && launchd_transaction)
+  {
+    os_release(launchd_transaction);
+    launchd_transaction = NULL;
+  }
 #  endif /* __APPLE__ */
 }