diff options
author | kib <kib@FreeBSD.org> | 2013-07-21 19:33:48 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2013-07-21 19:33:48 +0000 |
commit | 97d40396c6138592e15718c1b7c6d6b33f61efea (patch) | |
tree | 07205baf2311c75224512c86bb251b68fa9f790e /sys/kern/vfs_aio.c | |
parent | 1d140c8ee835525df03225e15a8c3e1ae7d99185 (diff) | |
download | FreeBSD-src-97d40396c6138592e15718c1b7c6d6b33f61efea.zip FreeBSD-src-97d40396c6138592e15718c1b7c6d6b33f61efea.tar.gz |
Move the convert_sigevent32() utility function into freebsd32_misc.c
for consumption outside the vfs_aio.c.
For SIGEV_THREAD_ID and SIGEV_SIGNAL notification delivery methods,
also copy in the sigev_value, since librt event pumping loop compares
note generation number with the value passed through sigev_value.
Tested by: Petr Salinger <Petr.Salinger@seznam.cz>
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Diffstat (limited to 'sys/kern/vfs_aio.c')
-rw-r--r-- | sys/kern/vfs_aio.c | 25 |
1 files changed, 0 insertions, 25 deletions
diff --git a/sys/kern/vfs_aio.c b/sys/kern/vfs_aio.c index 5fb9341..862443c 100644 --- a/sys/kern/vfs_aio.c +++ b/sys/kern/vfs_aio.c @@ -2755,31 +2755,6 @@ aiocb32_copyin_old_sigevent(struct aiocb *ujob, struct aiocb *kjob) } static int -convert_sigevent32(struct sigevent32 *sig32, struct sigevent *sig) -{ - - CP(*sig32, *sig, sigev_notify); - switch (sig->sigev_notify) { - case SIGEV_NONE: - break; - case SIGEV_THREAD_ID: - CP(*sig32, *sig, sigev_notify_thread_id); - /* FALLTHROUGH */ - case SIGEV_SIGNAL: - CP(*sig32, *sig, sigev_signo); - break; - case SIGEV_KEVENT: - CP(*sig32, *sig, sigev_notify_kqueue); - CP(*sig32, *sig, sigev_notify_kevent_flags); - PTRIN_CP(*sig32, *sig, sigev_value.sival_ptr); - break; - default: - return (EINVAL); - } - return (0); -} - -static int aiocb32_copyin(struct aiocb *ujob, struct aiocb *kjob) { struct aiocb32 job32; |