From 84dfb668d3dff5bc1f98de9014398f0a0af29030 Mon Sep 17 00:00:00 2001 From: Alexander Boettcher Date: Thu, 22 Oct 2015 13:29:04 +0200 Subject: [PATCH] noux: handle rom_connection_failed gracefully Fixes #1040 --- repos/ports/src/noux/local_rom_service.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/repos/ports/src/noux/local_rom_service.h b/repos/ports/src/noux/local_rom_service.h index ce1453531..4a1836724 100644 --- a/repos/ports/src/noux/local_rom_service.h +++ b/repos/ports/src/noux/local_rom_service.h @@ -48,10 +48,14 @@ namespace Noux { char name[NAME_MAX_LEN]; Arg_string::find_arg(args, "filename").string(name, sizeof(name), ""); - Rom_session_component *rom = new (env()->heap()) - Rom_session_component(_ds_registry, name); + try { + Rom_session_component *rom = new (env()->heap()) + Rom_session_component(_ds_registry, name); - return _ep.manage(rom); + return _ep.manage(rom); + } catch (Rom_connection::Rom_connection_failed) { + throw Service::Unavailable(); + } } void upgrade(Genode::Session_capability, const char *args) { }