X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FScheduler%2FSignalEvent.cc;h=989bcc73eddd1ad140c5036591daa43c4cb88586;hb=9bc655e14d2d8c204ed835896cb51e42d49bd68f;hp=a521bd8c61ea0ce9ea855f3abe3114c1bd6f9402;hpb=601d1f509f5bb24df167a4dd5a20da67a0af9af8;p=senf.git diff --git a/senf/Scheduler/SignalEvent.cc b/senf/Scheduler/SignalEvent.cc index a521bd8..989bcc7 100644 --- a/senf/Scheduler/SignalEvent.cc +++ b/senf/Scheduler/SignalEvent.cc @@ -1,6 +1,6 @@ // $Id$ // -// Copyright (C) 2008 +// Copyright (C) 2008 // Fraunhofer Institute for Open Communication Systems (FOKUS) // Competence Center NETwork research (NET), St. Augustin, GERMANY // Stefan Bund @@ -27,8 +27,9 @@ #include "SignalEvent.ih" // Custom includes -#include "../Utils/senfassert.hh" -#include "../Utils/signalnames.hh" +#include +#include +#include "senf/Utils/IgnoreValue.hh" //#include "SignalEvent.mpp" #define prefix_ @@ -59,7 +60,7 @@ prefix_ void senf::scheduler::detail::SignalDispatcher::add(SignalEvent & event) { SignalSet::iterator i (handlers_.find(event)); if (i != handlers_.end()) - throw DuplicateSignalRegistrationException() + throw DuplicateSignalRegistrationException() << " for signal " << signalName(event.signal_) << " (" << event.signal_ << ")"; handlers_.insert(event); @@ -109,14 +110,15 @@ prefix_ void senf::scheduler::detail::SignalDispatcher::signal(int events) i->setRunnable(); } -prefix_ void senf::scheduler::detail::SignalDispatcher::sigHandler(int signal, ::siginfo_t * siginfo, - void *) +prefix_ void senf::scheduler::detail::SignalDispatcher::sigHandler(int signal, + ::siginfo_t * siginfo, + void *) { - SENF_ASSERT( alive() ); + SENF_ASSERT( alive(), "Internal failure: Destroyed signal handler called" ); // The manpage says, si_signo is unused in linux so we set it here - siginfo->si_signo = signal; + siginfo->si_signo = signal; // We can't do much on error anyway so we ignore errors here - write(instance().sigPipe_[1], siginfo, sizeof(*siginfo)); + senf::IGNORE( write(instance().sigPipe_[1], siginfo, sizeof(*siginfo)) ); } prefix_ void senf::scheduler::SignalEvent::v_run() @@ -140,7 +142,7 @@ prefix_ std::string senf::scheduler::SignalEvent::v_info() #undef prefix_ //#include "SignalEvent.mpp" - + // Local Variables: // mode: c++ // fill-column: 100