// global variables:
AliESDEvent *currentEvent[2];
TTree *currentTree[2];
-TMutex mutex;
+TMutex myMutex;
int eventInUse=1;
int writingToEventIndex=0;
bool isNewEventAvaliable=false;
{
socket = EVENTS_SERVER_SUB;
manager->CreateSocket(socket);
+ cout<<"Socket created"<<endl;
while(1)
{
+ cout<<"waiting for event..."<<flush;
event = manager->GetEvent(socket);
+
if(event)
{
cout<<"Received event. Run:"<<event->GetRunNumber()<<"\t event:"<<event->GetEventNumberInFile()<<endl;
if(isNewEventAvaliable)
{
cout<<"new event"<<endl;
- mutex.Lock();
+ myMutex.Lock();
if(writingToEventIndex == 0) eventInUse = 0;
else if(writingToEventIndex == 1) eventInUse = 1;
cout<<"Using:"<<eventInUse<<endl;
}
}
isNewEventAvaliable = false;
- mutex.UnLock();
+ myMutex.UnLock();
}
else{cout<<"No new event is avaliable."<<endl;}
currentTree[0]=0;
currentTree[1]=0;
AliESDEvent *tmpEvent;
- TTree *tmpTree = NULL;
while(1)
{
//if(tmpEvent){delete tmpEvent;tmpEvent=0;}
- tmpEvent = eventManager->GetEvent(EVENTS_SERVER_SUB,-1,&tmpTree);
+ tmpEvent = eventManager->GetEvent(EVENTS_SERVER_SUB);
if(tmpEvent)
{
if(tmpEvent->GetRunNumber()>=0)
{
- mutex.Lock();
+ myMutex.Lock();
if(eventInUse == 0){writingToEventIndex = 1;}
else if(eventInUse == 1){writingToEventIndex = 0;}
- cout<<"Writing to:"<<writingToEventIndex<<endl;
+
if(currentEvent[writingToEventIndex])
{
- cout<<"DELETING:"<<currentEvent[writingToEventIndex]<<endl;
delete currentEvent[writingToEventIndex];
currentEvent[writingToEventIndex]=0;
- delete currentTree[writingToEventIndex];
}
currentEvent[writingToEventIndex] = tmpEvent;
- currentTree[writingToEventIndex] = tmpTree;
isNewEventAvaliable = true;
- mutex.UnLock();
+ myMutex.UnLock();
}
}
}