summaryrefslogtreecommitdiff
path: root/sys/kern/sysv_msg.c
diff options
context:
space:
mode:
authorPhilip Guenthe <guenther@cvs.openbsd.org>2009-06-02 12:11:17 +0000
committerPhilip Guenthe <guenther@cvs.openbsd.org>2009-06-02 12:11:17 +0000
commit091923e0232ec2771385260914d34fc49c12a6a4 (patch)
treee91e7d1aa96c529bd58b45b6a801a0d77f0cd43f /sys/kern/sysv_msg.c
parentf02b189f64fff76ecbc81e0d55b4fe65db8d6b2d (diff)
msgctl(), shmctl(), semctl() all have operations that are supposed
to return pids, not thread ids, so record the former when performing operations. ok blambert
Diffstat (limited to 'sys/kern/sysv_msg.c')
-rw-r--r--sys/kern/sysv_msg.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/kern/sysv_msg.c b/sys/kern/sysv_msg.c
index 706b839fa1b..379b9b31145 100644
--- a/sys/kern/sysv_msg.c
+++ b/sys/kern/sysv_msg.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sysv_msg.c,v 1.20 2007/10/14 23:08:04 fgsch Exp $ */
+/* $OpenBSD: sysv_msg.c,v 1.21 2009/06/02 12:11:16 guenther Exp $ */
/* $NetBSD: sysv_msg.c,v 1.19 1996/02/09 19:00:18 christos Exp $ */
/*
@@ -598,7 +598,7 @@ sys_msgsnd(struct proc *p, void *v, register_t *retval)
msqptr->msg_cbytes += msghdr->msg_ts;
msqptr->msg_qnum++;
- msqptr->msg_lspid = p->p_pid;
+ msqptr->msg_lspid = p->p_p->ps_mainproc->p_pid;
msqptr->msg_stime = time_second;
wakeup(msqptr);
@@ -793,7 +793,7 @@ sys_msgrcv(struct proc *p, void *v, register_t *retval)
msqptr->msg_cbytes -= msghdr->msg_ts;
msqptr->msg_qnum--;
- msqptr->msg_lrpid = p->p_pid;
+ msqptr->msg_lrpid = p->p_p->ps_mainproc->p_pid;
msqptr->msg_rtime = time_second;
/*