FreeBSD Bugzilla – Attachment 151802 Details for
Bug 196844
[patch][doc] Add EXAMPLES section to kqueue(2) man page
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
patch to kqueue(2) man page
kqueue.2.patch (text/plain), 1.44 KB, created by
Fernando ApesteguĂa
on 2015-01-18 18:43:31 UTC
(
hide
)
Description:
patch to kqueue(2) man page
Filename:
MIME Type:
Creator:
Fernando ApesteguĂa
Created:
2015-01-18 18:43:31 UTC
Size:
1.44 KB
patch
obsolete
>--- lib/libc/sys/kqueue.2.orig 2015-01-18 19:08:34.000000000 +0100 >+++ lib/libc/sys/kqueue.2 2015-01-18 19:18:09.000000000 +0100 >@@ -525,6 +525,64 @@ > If the time limit expires, then > .Fn kevent > returns 0. >+.Sh EXAMPLES >+.Bd -literal -compact >+#include <sys/types.h> >+#include <sys/event.h> >+#include <sys/time.h> >+#include <fcntl.h> >+#include <stdio.h> >+#include <stdlib.h> >+#include <string.h> >+#include <unistd.h> >+ >+int >+main(int argc, char **argv) >+{ >+ >+ struct kevent event; /* Event we want to monitor */ >+ struct kevent tevent; /* Event triggered */ >+ int kq, fd, ret; >+ >+ if (argc != 2) { >+ printf("Usage: %s dir\n", argv[0]); >+ exit(EXIT_SUCCESS); >+ } >+ >+ if ((fd = open(argv[1], O_RDONLY)) == -1) { >+ perror("open"); >+ exit(EXIT_FAILURE); >+ } >+ >+ /* Create kqueue */ >+ if ((kq = kqueue()) == -1) { >+ perror("queue"); >+ exit(EXIT_FAILURE); >+ } >+ >+ /* Initialize kevent structure */ >+ EV_SET(&event, fd, EVFILT_VNODE , EV_ADD | EV_ONESHOT, NOTE_WRITE, 0, NULL); >+ >+ for (;;) { >+ /* Attach event to the kqueue and block until something happens */ >+ ret = kevent(kq, &event, 1, &tevent, 1, NULL); >+ if (ret == -1) { >+ perror("kevent"); >+ exit(EXIT_FAILURE); >+ } else if (ret > 0) { >+ if (event.flags & EV_ERROR) { >+ fprintf(stderr, "Event error: %s\n", strerror(event.data)); >+ } >+ printf("Something was written in '%s'\n", argv[1]); >+ } >+ } >+ >+ /* NOTREACHED */ >+ close(fd); >+ exit(EXIT_SUCCESS); >+ >+} >+.Ed > .Sh ERRORS > The > .Fn kqueue
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 196844
:
151802
|
169639
|
169715
|
233152
|
233158