diff options
author | Henrik Rydberg <rydberg@euromail.se> | 2010-06-18 01:39:40 +0200 |
---|---|---|
committer | Henrik Rydberg <rydberg@euromail.se> | 2010-06-18 01:39:40 +0200 |
commit | 309df849b8ad3772b912d498eacda9f38a6e4f1e (patch) | |
tree | 03c47e2a3399672d4528397c1ef980601f0488b9 | |
parent | d62c625535494361b8ba0a004a1d24ce485f0b59 (diff) | |
download | mtdev-git-309df849b8ad3772b912d498eacda9f38a6e4f1e.tar.gz |
Correct semantic error in mtdev_idle
The current semantics, that a non-empty conversion pipe means
the device is not idle, is not very useful. This patch changes
the semantics to simply checking if the fetch buffer is empty,
and if there are no events to fetch from the device.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
-rw-r--r-- | include/mtdev.h | 4 | ||||
-rw-r--r-- | src/iobuf.c | 8 |
2 files changed, 4 insertions, 8 deletions
diff --git a/include/mtdev.h b/include/mtdev.h index 7d442f1..4170512 100644 --- a/include/mtdev.h +++ b/include/mtdev.h @@ -151,8 +151,8 @@ int mtdev_open(struct mtdev *dev, int fd); * @fd: file descriptor of the kernel device * @ms: number of milliseconds to wait for activity * - * Returns true if the device is idle, i.e., there are no buffered - * events and there is nothing to fetch from the kernel device. + * Returns true if the device is idle, i.e., there are no fetched + * events in the pipe and there is nothing to fetch from the device. */ int mtdev_idle(struct mtdev *dev, int fd, int ms); diff --git a/src/iobuf.c b/src/iobuf.c index 6516a2c..050f2ed 100644 --- a/src/iobuf.c +++ b/src/iobuf.c @@ -32,13 +32,9 @@ int mtdev_idle(struct mtdev *dev, int fd, int ms) { - struct mtdev_state *state = dev->state; - struct mtdev_iobuf *buf = &state->iobuf; + struct mtdev_iobuf *buf = &dev->state->iobuf; struct pollfd fds = { fd, POLLIN, 0 }; - return evbuf_empty(&state->outbuf) && - evbuf_empty(&state->inbuf) && - buf->head == buf->tail && - poll(&fds, 1, ms) <= 0; + return buf->head == buf->tail && poll(&fds, 1, ms) <= 0; } int mtdev_fetch(struct mtdev *dev, int fd, struct input_event *ev) |