l4-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Update README patch for ipc.cc


From: Giuseppe Scrivano
Subject: Re: Update README patch for ipc.cc
Date: Sat, 06 Aug 2005 15:29:32 +0200
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

oops. I forgot a ). This should work better. Sorry for the flood.

Giuseppe

--- pistachio/kernel/src/api/v4/ipc.cc.old      2005-08-06 15:06:33.000000000 
+0200
+++ pistachio/kernel/src/api/v4/ipc.cc  2005-08-06 15:17:40.000000000 +0200
@@ -318,6 +318,9 @@
                 && (current->get_space() == virt_sender->get_space() ||
                     current->get_space() == to_tcb->get_space()))
            {
+    if (virt_sender->get_state().is_waiting() &&
+                   virt_sender->get_partner() == sender_id)
+                 virt_sender->set_partner(to_tid);
                sender_id = current->get_virtual_sender();
            }
            else
@@ -339,14 +342,14 @@
        if (EXPECT_FALSE(
            (!to_tcb->get_state().is_waiting())  ||
            (   // Not waiting for sender (may be virtual sender)?
-               to_tcb->get_partner() != sender_id &&
+    ( to_tcb->get_partner() != current->get_global_id() &&
                // Not open wait?
                !to_tcb->get_partner().is_anythread() &&
                // Not open local wait?
                !(to_tcb->get_partner().is_anylocalthread() && 
                  to_tcb->get_space() == current->get_space()) &&
                // Not waiting for actual sender (if propagating IPC)?
-               to_tcb->get_partner() != current->get_global_id()   )))
+               to_tcb->get_partner() != current->get_global_id()   ))))
        {
            TRACE_IPC ("dest not ready (%t, is_wt=%d)\n", 
                       to_tcb, to_tcb->get_state().is_waiting());




reply via email to

[Prev in Thread] Current Thread [Next in Thread]