There was a serious bug with scheduler, related to locking.
diff --git a/scheduler/task.cc b/scheduler/task.cc
index cfe48c1..0d09199 100644
--- a/scheduler/task.cc
+++ b/scheduler/task.cc
@@ -60,8 +60,11 @@
 void
 Task::setTv(double delay)
 {
+  // Alex: when using abs function, i would recommend use it with std:: prefix, otherwise
+  // the standard one may be used, which converts everything to INT, making a lot of problems
   double intPart, fraction;
-  fraction = modf(abs(delay), &intPart);
+  fraction = modf(std::abs(delay), &intPart);
+
   m_tv->tv_sec = static_cast<int>(intPart);
   m_tv->tv_usec = static_cast<int>((fraction * 1000000));
 }