summaryrefslogtreecommitdiff
path: root/src/libsystemd-terminal/idev-evdev.c
diff options
context:
space:
mode:
authorDavid Herrmann <dh.herrmann@gmail.com>2014-09-02 14:17:59 +0200
committerDavid Herrmann <dh.herrmann@gmail.com>2014-09-11 15:22:16 +0200
commit98b7fe2ad4055a7978edc28caaadd5a0a9bd97a9 (patch)
tree0e4ed8555945193f401c1af1dc5e7479ab4be6a6 /src/libsystemd-terminal/idev-evdev.c
parentb76388e123e8d73ded1fd53937d816b314948517 (diff)
terminal: discard async read() errors for evdev
If read() fails on evdev devices, we deal with this in idev_evdev_hup(). It is very likely this is an async revoke, therefore, we must not abort. Fix our io helper to discard such errors after passing them to idev_evdev_hup(), so we don't bail out of the event loop.
Diffstat (limited to 'src/libsystemd-terminal/idev-evdev.c')
-rw-r--r--src/libsystemd-terminal/idev-evdev.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/libsystemd-terminal/idev-evdev.c b/src/libsystemd-terminal/idev-evdev.c
index c93ede8dc9..9e2dc811ef 100644
--- a/src/libsystemd-terminal/idev-evdev.c
+++ b/src/libsystemd-terminal/idev-evdev.c
@@ -217,7 +217,7 @@ static int idev_evdev_io(idev_evdev *evdev) {
error:
idev_evdev_hup(evdev);
- return r;
+ return 0; /* idev_evdev_hup() handles the error so discard it */
}
static int idev_evdev_event_fn(sd_event_source *s, int fd, uint32_t revents, void *userdata) {