chiark / gitweb /
bus-benchmark: add performance data output mode
[elogind.git] / src / libsystemd-bus / bus-message.c
index 6f2f3e903987d7ff453d4d75a284b16a849726df..77a875d4ebbdf3ceea5e142275d400fd69aa4f5b 100644 (file)
@@ -125,8 +125,12 @@ static void message_free(sd_bus_message *m) {
         if (m->free_kdbus)
                 free(m->kdbus);
 
-        if (m->release_kdbus)
-                ioctl(m->bus->input_fd, KDBUS_CMD_MSG_RELEASE, m->kdbus);
+        if (m->release_kdbus) {
+                uint64_t off;
+
+                off = (uint8_t *)m->kdbus - (uint8_t *)m->bus->kdbus_buffer;
+                ioctl(m->bus->input_fd, KDBUS_CMD_MSG_RELEASE, &off);
+        }
 
         if (m->bus)
                 sd_bus_unref(m->bus);
@@ -2354,8 +2358,9 @@ void bus_body_part_unmap(struct bus_body_part *part) {
         if (!part->data)
                 return;
 
-        if (!part->munmap_this)
-                return;
+        //FIXME: this is not set in the benchmark
+        //if (!part->munmap_this)
+        //        return;
 
         assert_se(munmap(part->data, part->mapped) == 0);