From 683832f461faef91d6479b07e6e566eabb36d21a Mon Sep 17 00:00:00 2001 From: Alexander Boettcher Date: Tue, 9 Jul 2013 17:12:25 +0200 Subject: [PATCH] base: avoid deadlock if invalid object is called This avoids a deadlock if during issuing a printf the low level IPC fails. . Printf uses an address space local lock and if we are trying again to make a printf we deadlock forever ... --- base/include/base/ipc.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/base/include/base/ipc.h b/base/include/base/ipc.h index 7a06d34a7..a495f2ee3 100644 --- a/base/include/base/ipc.h +++ b/base/include/base/ipc.h @@ -447,10 +447,8 @@ namespace Genode { { _call(); _read_from_buf(_result); - if (_result == ERR_INVALID_OBJECT) { - PERR("tried to call an invalid object"); + if (_result == ERR_INVALID_OBJECT) throw Ipc_error(); - } return *this; }