]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MONITOR/AliDimIntNotifier.cxx
tofLabel copying
[u/mrichter/AliRoot.git] / MONITOR / AliDimIntNotifier.cxx
index fc84831d3450e4f7e61733717a0ea9f34d62910a..9d19661d05df9a115515e04af6dabe23494cda83 100644 (file)
@@ -8,7 +8,8 @@
  **************************************************************************/
 
 #include "AliDimIntNotifier.h"
-
+#include <TError.h>
+#include <signal.h>
 
 //______________________________________________________________________________
 // Full description of AliDimIntNotifier
@@ -25,8 +26,8 @@ void AliDimIntNotifier::SetMainThreadId()
 
 AliDimIntNotifier::AliDimIntNotifier(const TString& service) :
   DimUpdatedInfo(service, -1),
+  fReThreader(),
   fNotifyLck(kTRUE),
-  fNotifyCnd(&fNotifyLck),
   fLastMessage(-1)
 {
   fReThreader.Connect("Timeout()", "AliDimIntNotifier", this, "DimMessage()");
@@ -36,6 +37,7 @@ void AliDimIntNotifier::StartTimer()
 {
   fReThreader.Reset();
   fReThreader.TurnOn();
+  pthread_kill((pthread_t)fgMainThreadId, SIGALRM); 
 }
 
 void AliDimIntNotifier::StopTimer()
@@ -52,11 +54,10 @@ void AliDimIntNotifier::infoHandler()
   if (TThread::SelfId() != fgMainThreadId)
   {
     StartTimer();
-    fNotifyCnd.Wait();
   }
   else
   {
-    Warning("infoHandler", "DIM message received from CINT thread.");
+    ::Warning("DIMinfoHandler", "DIM message received from CINT thread.");
     DimMessage();
   }
   fNotifyLck.UnLock();
@@ -71,7 +72,6 @@ void AliDimIntNotifier::infoHandlerTest(Int_t fake)
   if (TThread::SelfId() != fgMainThreadId)
   {
     StartTimer();
-    fNotifyCnd.Wait();
   }
   else
   {
@@ -87,13 +87,5 @@ void AliDimIntNotifier::DimMessage(Int_t)
   if (fLastMessage != -1)
   {
     Emit("DimMessage(Int_t)", fLastMessage);
-    printf("Notify %d\n", fLastMessage);
-  }
-  else
-  {
-    printf("NOTNotify %d\n", fLastMessage);
   }
-  fNotifyLck.Lock();
-  fNotifyCnd.Signal();
-  fNotifyLck.UnLock();
 }