diff options
| author | Henrik Rydberg <rydberg@euromail.se> | 2010-06-18 11:28:55 +0200 |
|---|---|---|
| committer | Henrik Rydberg <rydberg@euromail.se> | 2010-06-18 11:28:55 +0200 |
| commit | d7f96ade2801a712dbb532ab08ec93c9558870e1 (patch) | |
| tree | e0a4db274fc146c27ee0170505235b3146ecb266 /test | |
| parent | 2752c003604e907f2a6776ff794a72845d1b5949 (diff) | |
Use a non-blocking example in test/mtdev
The non-blocking case is more interesting for X applications.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Diffstat (limited to 'test')
| -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; |
