diff options
author | Neal H. Walfield <neal@gnu.org> | 2008-12-16 19:36:51 +0100 |
---|---|---|
committer | Neal H. Walfield <neal@gnu.org> | 2008-12-16 19:36:51 +0100 |
commit | ef89b0b04a2daf78eb2990b459454f34da05ffc2 (patch) | |
tree | 0db2aa87c66f6279b0b12fefc2f9cd9fc4ebb457 | |
parent | c9d479f7676e3044edfe9d2e8714952f9c6cecea (diff) |
Only set the source messenger's message buffer if the message is not inline.
2008-12-16 Neal H. Walfield <neal@gnu.org>
* server.c (server_loop): Only set SOURCE->BUFFER if the message
is not inline.
-rw-r--r-- | viengoos/ChangeLog | 5 | ||||
-rw-r--r-- | viengoos/server.c | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/viengoos/ChangeLog b/viengoos/ChangeLog index 8e8eb27..26b8bf9 100644 --- a/viengoos/ChangeLog +++ b/viengoos/ChangeLog @@ -1,3 +1,8 @@ +2008-12-16 Neal H. Walfield <neal@gnu.org> + + * server.c (server_loop): Only set SOURCE->BUFFER if the message + is not inline. + 2008-12-12 Neal H. Walfield <neal@gnu.org> * server.c (server_loop): Fix the activity_policy implementation diff --git a/viengoos/server.c b/viengoos/server.c index 770a465..9a46efa 100644 --- a/viengoos/server.c +++ b/viengoos/server.c @@ -832,7 +832,8 @@ server_loop (void) REPLY (ENOENT); } - if (unlikely (! ADDR_IS_VOID (send_buf))) + if (! (flags & VG_IPC_SEND_INLINE) + && unlikely (! ADDR_IS_VOID (send_buf))) source->buffer = CAP (&thread->aspace, send_buf, cap_page, true); if (unlikely ((flags & VG_IPC_SEND_SET_THREAD_TO_CALLER))) |