X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Flibsystemd-bus%2Fsd-bus.c;h=5e66a31162611ac2d7ae988840aa55950a458320;hp=fd19ff32b01b79d34cc900fa237833dddff149a2;hb=45fbe937d7ca8d0da9ea276d57bc70ebd41c285e;hpb=d5a2b9a6f455468a0f29483303657ab4fd7013d8 diff --git a/src/libsystemd-bus/sd-bus.c b/src/libsystemd-bus/sd-bus.c index fd19ff32b..5e66a3116 100644 --- a/src/libsystemd-bus/sd-bus.c +++ b/src/libsystemd-bus/sd-bus.c @@ -27,6 +27,7 @@ #include #include #include +#include #include "util.h" #include "macro.h" @@ -106,6 +107,8 @@ static void bus_free(sd_bus *b) { bus_kernel_flush_memfd(b); + assert_se(pthread_mutex_destroy(&b->memfd_cache_mutex) == 0); + free(b); } @@ -125,6 +128,8 @@ int sd_bus_new(sd_bus **ret) { r->negotiate_fds = true; r->original_pid = getpid(); + assert_se(pthread_mutex_init(&r->memfd_cache_mutex, NULL) == 0); + /* We guarantee that wqueue always has space for at least one * entry */ r->wqueue = new(sd_bus_message*, 1);