]> git.saurik.com Git - apple/syslog.git/blobdiff - syslogd.tproj/bsd_out.c
syslog-385.tar.gz
[apple/syslog.git] / syslogd.tproj / bsd_out.c
index 935b01a67b12f693eaa4d1582bdd82b24b1a24d9..571b9988bb6a1800aca46eafcc84f51fc612a861 100644 (file)
@@ -23,7 +23,7 @@
 
 #include <TargetConditionals.h>
 
-#if TARGET_IPHONE_SIMULATOR
+#if TARGET_OS_SIMULATOR
 struct _not_empty;
 #else
 
@@ -543,7 +543,7 @@ _bsd_send(asl_msg_t *msg, struct config_rule *r, char **out, char **fwd, time_t
        }
        else if (r->type == DST_TYPE_WALL)
        {
-#if !TARGET_OS_EMBEDDED
+#if !(TARGET_OS_IPHONE && !TARGET_OS_SIMULATOR)
                FILE *pw = popen(_PATH_WALL, "w");
                if (pw < 0)
                {
@@ -658,7 +658,7 @@ _bsd_match_and_send(asl_msg_t *msg)
 }
 
 void
-bsd_out_message(asl_msg_t *msg)
+bsd_out_message(asl_msg_t *msg, int64_t msize)
 {
        if (msg == NULL) return;
 
@@ -668,6 +668,10 @@ bsd_out_message(asl_msg_t *msg)
        dispatch_async(bsd_out_queue, ^{
                _bsd_match_and_send(msg);
                asl_msg_release((asl_msg_t *)msg);
+
+               /* end of the output module chain (after asl) - decrement global memory stats */
+               OSAtomicAdd64(-1ll * msize, &global.memory_size);
+
                OSAtomicDecrement32(&global.bsd_queue_count);
        });
 }
@@ -804,4 +808,4 @@ bsd_out_reset(void)
        return 0;
 }
 
-#endif /* !TARGET_IPHONE_SIMULATOR */
+#endif /* !TARGET_OS_SIMULATOR */