X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Scheduler%2FClockService.hh;h=3be5a0a3fe1f32b075aa8a23493fd244c140cf96;hb=bf6bdcb90de19ed474535d41c5519518921b717b;hp=255fcbee9fae4edbbaa6770d632a12a9e2f2e014;hpb=091048ffd94ceff5b8b415d1c7487c7893287b42;p=senf.git diff --git a/Scheduler/ClockService.hh b/Scheduler/ClockService.hh index 255fcbe..3be5a0a 100644 --- a/Scheduler/ClockService.hh +++ b/Scheduler/ClockService.hh @@ -31,6 +31,7 @@ #include #include #include +#include #include "../Utils/singleton.hh" //#include "ClockService.mpp" @@ -84,6 +85,13 @@ namespace senf { in the normal case (no clock skew) and still encapsulate the dependency on legacy C headers. Using the senf::singleton mixin ensures, that the instance is constructed before main even when instance() is not called. + + \bug There is a deadlock condition between ClockService and the streaming of Boost.DateTime + values: Boost.DateTime seems to call tzset() whenever writing a date/time value (ugh) + and since tzset changes basic date/time values, it seems to block gettimeofday() which + leads to the SIGLARM handler blocking indefinitely. Resolution either a) find out, why + tzset() of all functions is called or b) move the ClockService heartbeat functionality + into the Scheduler. */ class ClockService : singleton