/[hurd]/hurd-l4/README
ViewVC logotype

Diff of /hurd-l4/README

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.10 by marcus, Thu Oct 7 18:20:44 2004 UTC revision 1.11 by marcus, Thu Oct 7 23:04:40 2004 UTC
# Line 31  you can adjust the load addresses). Line 31  you can adjust the load addresses).
31  Installation on ia32  Installation on ia32
32  --------------------  --------------------
33    
34  Prerequisites: Pistachio-0.4.  You can find information about how to  Prerequisites: Pistachio-0.4 with the patch below.  You can find
35  download the Pistachio source distribution (which includes the kernel  information about how to download the Pistachio source distribution
36  and sigma0) at the following URL:  (which includes the kernel and sigma0) at the following URL:
37    
38  http://www.l4ka.org/projects/pistachio/download.php  http://www.l4ka.org/projects/pistachio/download.php
39    
# Line 69  module /boot/task Line 69  module /boot/task
69  module /boot/task  module /boot/task
70  module /boot/task  module /boot/task
71  module /boot/task  module /boot/task
72    
73    
74    Pistachio Patch
75    ---------------
76    
77    The following patch fixes a problem with IPC propagation.
78    
79    2004-10-08  Marcus Brinkmann  <marcus@gnu.org>
80    
81            * src/api/v4/ipc.cc (SYS_IPC): If propagating, modify the
82              originator's partner to wait for the new receiver if the
83              originator is in a closed wait for the sender.
84    
85    Index: ipc.cc
86    ===================================================================
87    RCS file: /public-cvs/pistachio/kernel/src/api/v4/ipc.cc,v
88    retrieving revision 1.57.4.6
89    diff -u -p -r1.57.4.6 ipc.cc
90    --- ipc.cc      3 Jun 2004 13:58:57 -0000       1.57.4.6
91    +++ ipc.cc      7 Oct 2004 22:36:12 -0000
92    @@ -292,6 +292,9 @@ SYS_IPC (threadid_t to_tid, threadid_t f
93                     && (current->get_space() == virt_sender->get_space() ||
94                         current->get_space() == to_tcb->get_space()))
95                {
96    +               if (virt_sender->get_state().is_waiting() &&
97    +                   virt_sender->get_partner() == sender_id)
98    +                 virt_sender->set_partner(to_tid);
99                    sender_id = current->get_virtual_sender();
100                }
101                else
102    

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.11

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26