diff options
Diffstat (limited to 'src/login/logind-user.c')
-rw-r--r-- | src/login/logind-user.c | 8 |
1 files changed, 8 insertions, 0 deletions
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); |