]> Zhao Yanbai Git Server - minix.git/commitdiff
Kernel: do not retry message delivery upon failure
authorDavid van Moolenbroek <david@minix3.org>
Sun, 4 Mar 2012 20:08:59 +0000 (21:08 +0100)
committerBen Gras <ben@minix3.org>
Tue, 6 Mar 2012 15:14:36 +0000 (16:14 +0100)
kernel/arch/i386/memory.c

index 6ec2f20ff41086505fc4ad011b8022cd5d777523..7a4e26e7e3df27007611e502f4f2b79e01b755a4 100644 (file)
@@ -540,7 +540,7 @@ PRIVATE void vm_suspend(struct proc *caller, const struct proc *target,
  *===========================================================================*/
 PUBLIC void delivermsg(struct proc *rp)
 {
-       int r;
+       int r = OK;
 
        assert(rp->p_misc_flags & MF_DELIVERMSG);
        assert(rp->p_delivermsg.m_source != NONE);
@@ -553,13 +553,12 @@ PUBLIC void delivermsg(struct proc *rp)
                                rp->p_name,
                                rp->p_endpoint);
                r = EFAULT;
-       } else {
-               /* Indicate message has been delivered; address is 'used'. */
-               rp->p_delivermsg.m_source = NONE;
-               rp->p_misc_flags &= ~MF_DELIVERMSG;
-               r = OK;
        }
 
+       /* Indicate message has been delivered; address is 'used'. */
+       rp->p_delivermsg.m_source = NONE;
+       rp->p_misc_flags &= ~MF_DELIVERMSG;
+
        if(!(rp->p_misc_flags & MF_CONTEXT_SET)) {
                rp->p_reg.retreg = r;
        }