diff options
author | alc <alc@FreeBSD.org> | 2000-09-04 07:56:32 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2000-09-04 07:56:32 +0000 |
commit | cb0cf9cc9239f7ed9fcd08f18c5142ef7ccd0c7a (patch) | |
tree | 546330d03abec4cadf6f257270b99d62c2c1f418 /sys/kern/vfs_aio.c | |
parent | 01ea63e2130fc89ef4b6bc40cf4f92b9a540058f (diff) | |
download | FreeBSD-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.c | 3 |
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); |