diff options
author | netchild <netchild@FreeBSD.org> | 2006-08-15 12:10:57 +0000 |
---|---|---|
committer | netchild <netchild@FreeBSD.org> | 2006-08-15 12:10:57 +0000 |
commit | b2a39f267af537affffa1c52b22f5128d4c0a4d3 (patch) | |
tree | 0ec3c426b5856dcb47a9ee601bee63a1ef397973 /sys/kern/uipc_sem.c | |
parent | c6539b3d3ec0c97a3e6a13593770d554202805c3 (diff) | |
download | FreeBSD-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/uipc_sem.c')
-rw-r--r-- | sys/kern/uipc_sem.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/kern/uipc_sem.c b/sys/kern/uipc_sem.c index 42dc33b..a1b63f6 100644 --- a/sys/kern/uipc_sem.c +++ b/sys/kern/uipc_sem.c @@ -71,6 +71,7 @@ static void sem_free(struct ksem *ksnew); static int sem_perm(struct thread *td, struct ksem *ks); static void sem_enter(struct proc *p, struct ksem *ks); static int sem_leave(struct proc *p, struct ksem *ks); +static void sem_exechook(void *arg, struct proc *p, struct image_params *imgp); static void sem_exithook(void *arg, struct proc *p); static void sem_forkhook(void *arg, struct proc *p1, struct proc *p2, int flags); @@ -919,7 +920,13 @@ race_lost: } static void -sem_exithook(void *arg, struct proc *p) +sem_exithook(void *arg, struct proc *p, struct image_params *imgp __unused) +{ + sem_exechook(arg, p); +} + +static void +sem_exechook(void *arg, struct proc *p) { struct ksem *ks, *ksnext; |