diff -urN -X dontdiff linux/ipc/msg.c linux-tk/ipc/msg.c --- linux/ipc/msg.c Tue Sep 11 16:21:42 2001 +++ linux-tk/ipc/msg.c Tue Sep 11 16:21:31 2001 @@ -613,7 +613,7 @@ wake_up_process(msr->r_tsk); } else { msr->r_msg = msg; - msq->q_lspid = msr->r_tsk->pid; + msq->q_lrpid = msr->r_tsk->pid; msq->q_rtime = CURRENT_TIME; wake_up_process(msr->r_tsk); return 1; @@ -683,6 +683,9 @@ goto retry; } + msq->q_lspid = current->pid; + msq->q_stime = CURRENT_TIME; + if(!pipelined_send(msq,msg)) { /* noone is waiting for this message, enqueue it */ list_add_tail(&msg->m_list,&msq->q_messages); @@ -694,8 +697,6 @@ err = 0; msg = NULL; - msq->q_lspid = current->pid; - msq->q_stime = CURRENT_TIME; out_unlock_free: msg_unlock(msqid);