Add 'unflatten' to doxygen/dot processing
[senf.git] / Scheduler / SignalEvent.cc
index f083852..a521bd8 100644 (file)
@@ -40,17 +40,17 @@ prefix_ senf::scheduler::detail::SignalDispatcher::SignalDispatcher()
     if (pipe(sigPipe_) <0)
         SENF_THROW_SYSTEM_EXCEPTION("pipe()");
     sigemptyset(&sigSet_);
-    FdManager::instance().set(sigPipe_[0], FdManager::EV_READ, this);
+    detail::FdManager::instance().set(sigPipe_[0], detail::FdManager::EV_READ, this);
 }
 
 prefix_ senf::scheduler::detail::SignalDispatcher::~SignalDispatcher()
 {
     for (SignalSet::iterator i (handlers_.begin()); i != handlers_.end(); ++i) {
         ::signal(i->signal_, SIG_DFL);
-        FIFORunner::instance().dequeue(&(*i));
+        detail::FIFORunner::instance().dequeue(&(*i));
     }
     sigprocmask(SIG_UNBLOCK, &sigSet_, 0);
-    FdManager::instance().remove(sigPipe_[0]);
+    detail::FdManager::instance().remove(sigPipe_[0]);
     close(sigPipe_[0]);
     close(sigPipe_[1]);
 }
@@ -64,7 +64,7 @@ prefix_ void senf::scheduler::detail::SignalDispatcher::add(SignalEvent & event)
 
     handlers_.insert(event);
     sigaddset(&sigSet_, event.signal_);
-    FIFORunner::instance().enqueue(&event);
+    detail::FIFORunner::instance().enqueue(&event);
 
     sigset_t sig;
     sigemptyset(&sig);
@@ -89,7 +89,7 @@ prefix_ void senf::scheduler::detail::SignalDispatcher::add(SignalEvent & event)
 prefix_ void senf::scheduler::detail::SignalDispatcher::remove(SignalEvent & event)
 {
     ::signal(event.signal_, SIG_DFL);
-    FIFORunner::instance().dequeue(&event);
+    detail::FIFORunner::instance().dequeue(&event);
     handlers_.erase(event);
     sigset_t sig;
     sigemptyset(&sig);
@@ -106,7 +106,7 @@ prefix_ void senf::scheduler::detail::SignalDispatcher::signal(int events)
     if (i == handlers_.end())
         return;
     i->siginfo_ = info;
-    i->runnable = true;
+    i->setRunnable();
 }
 
 prefix_ void senf::scheduler::detail::SignalDispatcher::sigHandler(int signal, ::siginfo_t * siginfo,
@@ -119,6 +119,23 @@ prefix_ void senf::scheduler::detail::SignalDispatcher::sigHandler(int signal, :
     write(instance().sigPipe_[1], siginfo, sizeof(*siginfo));
 }
 
+prefix_ void senf::scheduler::SignalEvent::v_run()
+{
+    cb_(siginfo_);
+}
+
+prefix_ char const * senf::scheduler::SignalEvent::v_type()
+    const
+{
+    return "si";
+}
+
+prefix_ std::string senf::scheduler::SignalEvent::v_info()
+    const
+{
+    return "";
+}
+
 ///////////////////////////////cc.e////////////////////////////////////////
 #undef prefix_
 //#include "SignalEvent.mpp"