From: Zbigniew Jędrzejewski-Szmek Date: Tue, 20 Aug 2019 18:24:47 +0000 (+0200) Subject: shared/watchdog: close watchdog device when done with it X-Git-Tag: v243-rc2~9^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F13368%2Fhead;p=thirdparty%2Fsystemd.git shared/watchdog: close watchdog device when done with it The file descriptor was opened with O_CLOEXEC, so in practice this doesn't change too much, but it seems cleaner to always close the old fd when changing the device path. --- diff --git a/src/shared/watchdog.c b/src/shared/watchdog.c index c423af6917a..98fefb39569 100644 --- a/src/shared/watchdog.c +++ b/src/shared/watchdog.c @@ -82,7 +82,16 @@ static int open_watchdog(void) { } int watchdog_set_device(char *path) { - return free_and_strdup(&watchdog_device, path); + int r; + + r = free_and_strdup(&watchdog_device, path); + if (r < 0) + return r; + + if (r > 0) /* watchdog_device changed */ + watchdog_fd = safe_close(watchdog_fd); + + return r; } int watchdog_set_timeout(usec_t *usec) {