diff options
| -rw-r--r-- | test/mtdev.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/test/mtdev.c b/test/mtdev.c index 995a4e2..60fae7b 100644 --- a/test/mtdev.c +++ b/test/mtdev.c | |||
| @@ -62,7 +62,11 @@ static void loop_device(int fd) | |||
| 62 | fprintf(stderr, "error: could not open device: %d\n", ret); | 62 | fprintf(stderr, "error: could not open device: %d\n", ret); |
| 63 | return; | 63 | return; |
| 64 | } | 64 | } |
| 65 | while (mtdev_pull(&dev, fd, 1) > 0) { | 65 | /* while the device has not been inactive for five seconds */ |
| 66 | while (!mtdev_idle(&dev, fd, 5000)) { | ||
| 67 | /* fetch all available kernel events */ | ||
| 68 | mtdev_pull(&dev, fd, 0); | ||
| 69 | /* extract all available canonical events */ | ||
| 66 | while (!mtdev_empty(&dev)) { | 70 | while (!mtdev_empty(&dev)) { |
| 67 | mtdev_get(&dev, &ev); | 71 | mtdev_get(&dev, &ev); |
| 68 | if (use_event(&ev)) | 72 | if (use_event(&ev)) |
| @@ -79,7 +83,7 @@ int main(int argc, char *argv[]) | |||
| 79 | fprintf(stderr, "Usage: mtdev <device>\n"); | 83 | fprintf(stderr, "Usage: mtdev <device>\n"); |
| 80 | return -1; | 84 | return -1; |
| 81 | } | 85 | } |
| 82 | fd = open(argv[1], O_RDONLY); | 86 | fd = open(argv[1], O_RDONLY | O_NONBLOCK); |
| 83 | if (fd < 0) { | 87 | if (fd < 0) { |
| 84 | fprintf(stderr, "error: could not open device\n"); | 88 | fprintf(stderr, "error: could not open device\n"); |
| 85 | return -1; | 89 | return -1; |
