diff options
author | 2002-01-07 00:11:07 +0000 | |
---|---|---|
committer | 2002-01-07 00:11:07 +0000 | |
commit | 8fd1ff481dea5cbac8fb40d4556ccd7766c392c3 (patch) | |
tree | 49d08c35f5fb5e084e05b6f8afe102fef22ade74 /regress/sys/kern/kqueue | |
parent | add kqueue (diff) | |
download | wireguard-openbsd-8fd1ff481dea5cbac8fb40d4556ccd7766c392c3.tar.xz wireguard-openbsd-8fd1ff481dea5cbac8fb40d4556ccd7766c392c3.zip |
better.
Diffstat (limited to 'regress/sys/kern/kqueue')
-rw-r--r-- | regress/sys/kern/kqueue/kqueue-pipe.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/regress/sys/kern/kqueue/kqueue-pipe.c b/regress/sys/kern/kqueue/kqueue-pipe.c index d8e48e1f991..c81ce296275 100644 --- a/regress/sys/kern/kqueue/kqueue-pipe.c +++ b/regress/sys/kern/kqueue/kqueue-pipe.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kqueue-pipe.c,v 1.1 2002/01/07 00:01:00 provos Exp $ */ +/* $OpenBSD: kqueue-pipe.c,v 1.2 2002/01/07 00:11:07 provos Exp $ */ /* * Copyright 2001 Niels Provos <provos@citi.umich.edu> * All rights reserved. @@ -50,10 +50,7 @@ main(int argc, char **argv) if (fcntl(fd[1], F_SETFL, O_NONBLOCK) == -1) exit(1); - while ((n = write(fd[1], buf, sizeof(buf))) == sizeof(buf)) - ; - - if ((kq = kqueue()) == -1) + if ((kq = kqueue()) == -1) exit(1); ev.ident = fd[1]; @@ -63,7 +60,16 @@ main(int argc, char **argv) if (n == -1) exit(1); - read(fd[0], buf, sizeof(buf)); + while ((n = write(fd[1], buf, sizeof(buf))) == sizeof(buf)) + ; + + ts.tv_sec = 0; + ts.tv_nsec = 0; + n = kevent(kq, NULL, 0, &ev, 1, &ts); + if (n != 0) + exit(1); + + read(fd[0], buf, sizeof(buf)); ts.tv_sec = 0; ts.tv_nsec = 0; |