summaryrefslogtreecommitdiffstats
path: root/sys/kern/vfs_aio.c
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2000-09-04 07:56:32 +0000
committeralc <alc@FreeBSD.org>2000-09-04 07:56:32 +0000
commitcb0cf9cc9239f7ed9fcd08f18c5142ef7ccd0c7a (patch)
tree546330d03abec4cadf6f257270b99d62c2c1f418 /sys/kern/vfs_aio.c
parent01ea63e2130fc89ef4b6bc40cf4f92b9a540058f (diff)
downloadFreeBSD-src-cb0cf9cc9239f7ed9fcd08f18c5142ef7ccd0c7a.zip
FreeBSD-src-cb0cf9cc9239f7ed9fcd08f18c5142ef7ccd0c7a.tar.gz
Make filt_aio() check the jobstate for JOBST_JOBBFINISHED (in addition
to JOBST_JOBFINISHED) in case the aio_read() or aio_write() was performed via the high-performance physio method, i.e., aio_qphysio().
Diffstat (limited to 'sys/kern/vfs_aio.c')
-rw-r--r--sys/kern/vfs_aio.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/kern/vfs_aio.c b/sys/kern/vfs_aio.c
index bddf4b3..ea26dbd 100644
--- a/sys/kern/vfs_aio.c
+++ b/sys/kern/vfs_aio.c
@@ -2386,7 +2386,8 @@ filt_aio(struct knote *kn, long hint)
struct aiocblist *aiocbe = (struct aiocblist *)kn->kn_id;
kn->kn_data = 0; /* XXX data returned? */
- if (aiocbe->jobstate != JOBST_JOBFINISHED)
+ if (aiocbe->jobstate != JOBST_JOBFINISHED &&
+ aiocbe->jobstate != JOBST_JOBBFINISHED)
return (0);
kn->kn_flags |= EV_EOF;
return (1);
OpenPOWER on IntegriCloud