diff --git a/src/login/logind-inhibit.c b/src/login/logind-inhibit.c index 1883c97e4d..67fe9921d4 100644 --- a/src/login/logind-inhibit.c +++ b/src/login/logind-inhibit.c @@ -72,13 +72,13 @@ Inhibitor* inhibitor_free(Inhibitor *i) { sd_event_source_unref(i->event_source); safe_close(i->fifo_fd); + hashmap_remove(i->manager->inhibitors, i->id); + /* Note that we don't remove neither the state file nor the fifo path here, since we want both to * survive daemon restarts */ free(i->state_file); free(i->fifo_path); - hashmap_remove(i->manager->inhibitors, i->id); - return mfree(i); }