From 66cdd0f2d0670b054bd27dad16fcb5838b11dde3 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 14 Mar 2014 01:38:19 +0100 Subject: logind: automatically remove SysV + POSIX IPC objects when the users owning them fully log out --- src/login/logind-user.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/login/logind-user.c') diff --git a/src/login/logind-user.c b/src/login/logind-user.c index 9bbe879571..961cbcb27b 100644 --- a/src/login/logind-user.c +++ b/src/login/logind-user.c @@ -35,6 +35,7 @@ #include "bus-util.h" #include "bus-error.h" #include "conf-parser.h" +#include "clean-ipc.h" #include "logind-user.h" User* user_new(Manager *m, uid_t uid, gid_t gid, const char *name) { @@ -572,6 +573,13 @@ int user_finalize(User *u) { if (k < 0) r = k; + /* Clean SysV + POSIX IPC objects */ + if (u->manager->remove_ipc) { + k = clean_ipc(u->uid); + if (k < 0) + r = k; + } + unlink(u->state_file); user_add_to_gc_queue(u); -- cgit v1.2.3-54-g00ecf