summaryrefslogtreecommitdiffstats
path: root/sys/kern/vfs_aio.c
diff options
context:
space:
mode:
authornetchild <netchild@FreeBSD.org>2006-08-15 12:10:57 +0000
committernetchild <netchild@FreeBSD.org>2006-08-15 12:10:57 +0000
commitb2a39f267af537affffa1c52b22f5128d4c0a4d3 (patch)
tree0ec3c426b5856dcb47a9ee601bee63a1ef397973 /sys/kern/vfs_aio.c
parentc6539b3d3ec0c97a3e6a13593770d554202805c3 (diff)
downloadFreeBSD-src-b2a39f267af537affffa1c52b22f5128d4c0a4d3.zip
FreeBSD-src-b2a39f267af537affffa1c52b22f5128d4c0a4d3.tar.gz
- Change process_exec function handlers prototype to include struct
image_params arg. - Change struct image_params to include struct sysentvec pointer and initialize it. - Change all consumers of process_exit/process_exec eventhandlers to new prototypes (includes splitting up into distinct exec/exit functions). - Add eventhandler to userret. Sponsored by: Google SoC 2006 Submitted by: rdivacky Parts suggested by: jhb (on hackers@)
Diffstat (limited to 'sys/kern/vfs_aio.c')
-rw-r--r--sys/kern/vfs_aio.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/kern/vfs_aio.c b/sys/kern/vfs_aio.c
index 8dfbf96..2f8de18 100644
--- a/sys/kern/vfs_aio.c
+++ b/sys/kern/vfs_aio.c
@@ -322,6 +322,7 @@ static int aio_aqueue(struct thread *td, struct aiocb *job,
struct aioliojob *lio, int type, int osigev);
static void aio_physwakeup(struct buf *bp);
static void aio_proc_rundown(void *arg, struct proc *p);
+static void aio_proc_rundown_exec(void *arg, struct proc *p, struct image_params *imgp);
static int aio_qphysio(struct proc *p, struct aiocblist *iocb);
static void biohelper(void *, int);
static void aio_daemon(void *param);
@@ -419,7 +420,7 @@ aio_onceonly(void)
aio_swake = &aio_swake_cb;
exit_tag = EVENTHANDLER_REGISTER(process_exit, aio_proc_rundown, NULL,
EVENTHANDLER_PRI_ANY);
- exec_tag = EVENTHANDLER_REGISTER(process_exec, aio_proc_rundown, NULL,
+ exec_tag = EVENTHANDLER_REGISTER(process_exec, aio_proc_rundown_exec, NULL,
EVENTHANDLER_PRI_ANY);
kqueue_add_filteropts(EVFILT_AIO, &aio_filtops);
kqueue_add_filteropts(EVFILT_LIO, &lio_filtops);
@@ -630,6 +631,12 @@ aio_free_entry(struct aiocblist *aiocbe)
return (0);
}
+static void
+aio_proc_rundown_exec(void *arg, struct proc *p, struct image_params *imgp __unused)
+{
+ aio_proc_rundown(arg, p);
+}
+
/*
* Rundown the jobs for a given process.
*/
OpenPOWER on IntegriCloud