summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenrik Rydberg <rydberg@euromail.se>2010-06-18 11:28:55 +0200
committerHenrik Rydberg <rydberg@euromail.se>2010-06-18 11:28:55 +0200
commitd7f96ade2801a712dbb532ab08ec93c9558870e1 (patch)
treee0a4db274fc146c27ee0170505235b3146ecb266
parent2752c003604e907f2a6776ff794a72845d1b5949 (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>
-rw-r--r--test/mtdev.c8
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;