diff options
Diffstat (limited to 'src/shared/dbus-loop.c')
-rw-r--r-- | src/shared/dbus-loop.c | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/src/shared/dbus-loop.c b/src/shared/dbus-loop.c index fec8998bc1..b42ae14511 100644 --- a/src/shared/dbus-loop.c +++ b/src/shared/dbus-loop.c @@ -45,7 +45,7 @@ typedef struct EpollData { static dbus_bool_t add_watch(DBusWatch *watch, void *data) { EpollData _cleanup_free_ *e = NULL; - struct epoll_event ev; + struct epoll_event ev = { .data.ptr = e }; assert(watch); @@ -57,9 +57,7 @@ static dbus_bool_t add_watch(DBusWatch *watch, void *data) { e->object = watch; e->is_timeout = false; - zero(ev); ev.events = bus_flags_to_events(watch); - ev.data.ptr = e; if (epoll_ctl(PTR_TO_INT(data), EPOLL_CTL_ADD, e->fd, &ev) < 0) { @@ -106,7 +104,7 @@ static void remove_watch(DBusWatch *watch, void *data) { static void toggle_watch(DBusWatch *watch, void *data) { EpollData *e; - struct epoll_event ev; + struct epoll_event ev = {}; assert(watch); @@ -114,21 +112,18 @@ static void toggle_watch(DBusWatch *watch, void *data) { if (!e) return; - zero(ev); - ev.events = bus_flags_to_events(watch); ev.data.ptr = e; + ev.events = bus_flags_to_events(watch); assert_se(epoll_ctl(PTR_TO_INT(data), EPOLL_CTL_MOD, e->fd, &ev) == 0); } static int timeout_arm(EpollData *e) { - struct itimerspec its; + struct itimerspec its = {}; assert(e); assert(e->is_timeout); - zero(its); - if (dbus_timeout_get_enabled(e->object)) { timespec_store(&its.it_value, dbus_timeout_get_interval(e->object) * USEC_PER_MSEC); its.it_interval = its.it_value; @@ -142,7 +137,7 @@ static int timeout_arm(EpollData *e) { static dbus_bool_t add_timeout(DBusTimeout *timeout, void *data) { EpollData *e; - struct epoll_event ev; + struct epoll_event ev = {}; assert(timeout); @@ -160,7 +155,6 @@ static dbus_bool_t add_timeout(DBusTimeout *timeout, void *data) { if (timeout_arm(e) < 0) goto fail; - zero(ev); ev.events = EPOLLIN; ev.data.ptr = e; @@ -227,13 +221,11 @@ int bus_loop_open(DBusConnection *c) { int bus_loop_dispatch(int fd) { int n; - struct epoll_event event; + struct epoll_event event = {}; EpollData *d; assert(fd >= 0); - zero(event); - n = epoll_wait(fd, &event, 1, 0); if (n < 0) return errno == EAGAIN || errno == EINTR ? 0 : -errno; |