X-Git-Url: https://rtime.felk.cvut.cz/gitweb/l4.git/blobdiff_plain/9347d109a9b928929fdc0cedcc1d867bd7e2a918..c02bb3e0b72cd17aaa3cdfb9587d934f1097cc1f:/l4/pkg/plr/server/src/redundancy/dmr.cc diff --git a/l4/pkg/plr/server/src/redundancy/dmr.cc b/l4/pkg/plr/server/src/redundancy/dmr.cc index e6f3755ff..1fb02d5d7 100644 --- a/l4/pkg/plr/server/src/redundancy/dmr.cc +++ b/l4/pkg/plr/server/src/redundancy/dmr.cc @@ -3,7 +3,7 @@ * * n-way modular redundancy implementation * - * (c) 2011-2012 Björn Döbel , + * (c) 2011-2013 Björn Döbel , * economic rights: Technische Universität Dresden (Germany) * This file is part of TUD:OS and distributed under the terms of the * GNU General Public License 2. @@ -14,6 +14,8 @@ #include "../redundancy.h" #include "../app_loading" #include "../fault_observers" +#include "../manager" +#include "../fault_handlers/syscalls_handler.h" #define MSG() DEBUGf(Romain::Log::Redundancy) #define MSGi(inst) MSG() << "[" << (inst)->id() << "] " @@ -48,7 +50,7 @@ */ Romain::DMR::DMR(unsigned instances) - : _leave_count(0), _enter_count(0), _block_count(0), + : _enter_count(0), _leave_count(0), _block_count(0), _rv(Romain::RedundancyCallback::Invalid), _num_instances(instances), _num_instances_bak(0) { @@ -116,7 +118,8 @@ Romain::DMR::checksum_replicas() if (_orig_vcpu[cnt]) _orig_vcpu[cnt]->vcpu()->print_state(); } - //enter_kdebug("checksum"); + ERROR() << "Instances: " << _num_instances << " this inst " << idx; + enter_kdebug("checksum"); #endif return false; } @@ -131,6 +134,7 @@ class RecoverAbort static __attribute__((noreturn)) void recover() { ERROR() << "Aborting after error."; + Romain::_the_instance_manager->logdump(); enter_kdebug("abort"); throw("ERROR -> abort"); }