From 904c37845dec60fc5ee91d11b5e6c75656651b33 Mon Sep 17 00:00:00 2001 From: Kenny Levinsen Date: Wed, 15 Apr 2020 20:26:23 +0200 Subject: [PATCH] logind: Close fd before releasing device This speeds up shutdown significantly, and is in line with how Weston does it. --- backend/session/logind.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/backend/session/logind.c b/backend/session/logind.c index 9b7b9650..b5acd4e4 100644 --- a/backend/session/logind.c +++ b/backend/session/logind.c @@ -107,8 +107,10 @@ static void logind_release_device(struct wlr_session *base, int fd) { if (fstat(fd, &st) < 0) { wlr_log(WLR_ERROR, "Failed to stat device '%d': %s", fd, strerror(errno)); + close(fd); return; } + close(fd); sd_bus_message *msg = NULL; sd_bus_error error = SD_BUS_ERROR_NULL; @@ -122,7 +124,6 @@ static void logind_release_device(struct wlr_session *base, int fd) { sd_bus_error_free(&error); sd_bus_message_unref(msg); - close(fd); } static bool logind_change_vt(struct wlr_session *base, unsigned vt) {