From: Zbigniew Jędrzejewski-Szmek Date: Wed, 8 Jan 2020 15:22:23 +0000 (+0100) Subject: sd-event: use _cleanup_ in one more place X-Git-Tag: v245-rc1~163^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F14523%2Fhead;p=thirdparty%2Fsystemd.git sd-event: use _cleanup_ in one more place --- diff --git a/src/libsystemd/sd-event/sd-event.c b/src/libsystemd/sd-event/sd-event.c index 86285a5f965..fb9db47105c 100644 --- a/src/libsystemd/sd-event/sd-event.c +++ b/src/libsystemd/sd-event/sd-event.c @@ -1037,14 +1037,15 @@ static int event_setup_timer_fd( struct clock_data *d, clockid_t clock) { - int r, fd; - assert(e); assert(d); if (_likely_(d->fd >= 0)) return 0; + _cleanup_close_ int fd = -1; + int r; + fd = timerfd_create(clock, TFD_NONBLOCK|TFD_CLOEXEC); if (fd < 0) return -errno; @@ -1057,12 +1058,10 @@ static int event_setup_timer_fd( }; r = epoll_ctl(e->epoll_fd, EPOLL_CTL_ADD, fd, &ev); - if (r < 0) { - safe_close(fd); + if (r < 0) return -errno; - } - d->fd = fd; + d->fd = TAKE_FD(fd); return 0; }