+
+ if (globals->_vproc_gone2zero_callout && !arg) {
+ globals->_vproc_transaction_cnt = 1;
+ dispatch_async_f(globals->_vproc_gone2zero_queue, globals->_vproc_gone2zero_ctx, _vproc_transaction_end_internal2);
+ } else {
+ (void)os_assumes_zero(proc_set_dirty(getpid(), false));
+ }
+}
+
+void
+_vproc_transaction_end_flush2(void *ctx __unused)
+{
+ _vproc_transaction_end_internal((void *)1);
+}
+
+void
+_vproc_transaction_end_flush(void)
+{
+ launch_globals_t globals = _launch_globals();
+
+ dispatch_sync_f(globals->_vproc_transaction_queue, NULL, _vproc_transaction_end_flush2);