diff options
author | Stacey Son <sson@FreeBSD.org> | 2009-09-16 03:49:54 +0000 |
---|---|---|
committer | Stacey Son <sson@FreeBSD.org> | 2009-09-16 03:49:54 +0000 |
commit | fdc1a1131ee152d7c0bc185064657214a1b19aa5 (patch) | |
tree | 4e459ad91b2bf9cbe26b4d39196166754fd16bf7 /sys/kern/kern_event.c | |
parent | 1a921c410a4a40e17eb05a0be52c3891998579bf (diff) | |
download | src-fdc1a1131ee152d7c0bc185064657214a1b19aa5.tar.gz src-fdc1a1131ee152d7c0bc185064657214a1b19aa5.zip |
Add EV_RECEIPT to kevents.
EV_RECEIPT is useful to disambiguating error conditions when multiple
events structures are passed to kevent(2). The error code is returned
in the data field and EV_ERROR is set.
Approved by: rwatson (co-mentor)
Notes
Notes:
svn path=/head/; revision=197243
Diffstat (limited to 'sys/kern/kern_event.c')
-rw-r--r-- | sys/kern/kern_event.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/kern_event.c b/sys/kern/kern_event.c index 263089477057..8ce7621e9a7f 100644 --- a/sys/kern/kern_event.c +++ b/sys/kern/kern_event.c @@ -832,7 +832,7 @@ kern_kevent(struct thread *td, int fd, int nchanges, int nevents, continue; kevp->flags &= ~EV_SYSFLAGS; error = kqueue_register(kq, kevp, td, 1); - if (error) { + if (error || (kevp->flags & EV_RECEIPT)) { if (nevents != 0) { kevp->flags = EV_ERROR; kevp->data = error; |