summaryrefslogtreecommitdiffstats
path: root/sys/kern/uipc_sem.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/uipc_sem.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/uipc_sem.c')
-rw-r--r--sys/kern/uipc_sem.c9
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;
OpenPOWER on IntegriCloud