Packets/80221Bundle: fix for MIHF_Id parser
[senf.git] / senf / Scheduler / FIFORunner.cc
index 6ddd914..0e2935a 100644 (file)
 #include <signal.h>
 #include <time.h>
 #include <boost/lambda/lambda.hpp>
-#include "../Utils/Exception.hh"
-#include "../Utils/senfassert.hh"
-#include "../Utils/ScopeExit.hh"
+#include <senf/Utils/Exception.hh>
+#include <senf/Utils/senfassert.hh>
+#include <senf/Utils/ScopeExit.hh>
 #include <execinfo.h>
-#include "../config.hh"
+#include <senf/config.hh>
 #include <stdint.h>
+#include <stdio.h>
 
 //#include "FIFORunner.mpp"
 #define prefix_
@@ -248,7 +249,12 @@ prefix_ void senf::scheduler::detail::FIFORunner::watchdogError()
                                 'a', 'b', 'c', 'd', 'e', 'f' };
     static void * entries[SENF_DEBUG_BACKTRACE_NUMCALLERS];
     
-    write(1, "\n\n*** Scheduler task hanging: ", 30);
+    write(1, "\n\n*** Scheduler task hanging (pid ",34);
+    static char pid[7];
+    ::snprintf(pid, 7, "%6d", ::getpid());
+    pid[6] = 0;
+    write(1, pid, 6);
+    write(1, "): ", 3);
     write(1, runningName_.c_str(), runningName_.size());
     write(1, " at\n ", 3);
 
@@ -256,7 +262,7 @@ prefix_ void senf::scheduler::detail::FIFORunner::watchdogError()
     for (unsigned i (0); i < nEntries; ++i) {
         write(1, " 0x", 3);
         for (unsigned j (sizeof(void*)); j > 0; --j) {
-             ::uintptr_t v( ::uintptr_t (entries[i])>>(8*(j-1)));
+            uintptr_t v ( reinterpret_cast<uintptr_t>(entries[i]) >> (8*(j-1)) );
             write(1, &(hex[ (v >> 4) & 0x0f ]), 1);
             write(1, &(hex[ (v     ) & 0x0f ]), 1);
         }