Hi! We use the MBS-data acq. system from GSI, so its not any of the root-objects. Some cuts from the code, in case somebody using the same system knows what to do (rereading the code, I think the delay may only be in the data transfer, but the effect is the same): iStatus =buf->RevStatus (iOut); pSocket = buf->RevOpen (pcNode, iPort, iEvt); //Open the connection iStatus = buf->RevStatus (iOut); if (!pSocket) return 8; pClock.Start(kTRUE); time3=pClock.GetRealTime(); //set start time for buffer read for (;;) // buffer loop { gSystem->ProcessEvents(); if (ii > 0) ifl = 0; // skip buffer only once per request piEvent = buf->RevGetI (pSocket, ifl); // Reads event, ptr->nxt iStatus = buf->RevStatus (iOut); if (!piEvent) { gSystem->ProcessEvents(); pClock.Stop(); if (iStatus == 3) // currently no events from DAQ { //should pass here when no data gSystem->ProcessEvents(); ifl = 0; // new buffer, needs not be specified continue; As you see Ive more than plenty gSystem commands... In case somebody have solved the problem already, give me a hint - otherwise I guess I have to read mbs-manuals again. Ivan On Mon, 7 May 2001, Fons Rademakers wrote: > How are you waiting to for the server? With a TMonitor? > > --Fons > > > Ivan Storgaard Vogelius wrote: > > > > Hmmm > > I have a problem then: > > The programme waits on a line for a server to send a buffer, and while > > that happens it obviously doesnt come by the gSystem->ProcessEvents() > > lines, which means that I can interact with the canvas, but it is quite > > annoying with sometimes very long breaks. Any Idea to get around that? > > Ivan > > > > On Mon, 7 May 2001, Fons Rademakers wrote: > > > > > Hi Ivan, > > > > > > synchronous timers are only processed when the program processes > > > events via gSystem->ProcessEvents(). So in your case there is a > > > chicken and the egg problem. Best is just to regularly in your > > > canvas update loop to call gSystem->ProcessEvents() or if you > > > want it to be timer driven use an a-synch timer TProcessEventTimer > > > (via TSystem.h) and for its use check TTreePlayer.cxx (see: > > > http://root.cern.ch/lxr/source/treeplayer/src/TTreePlayer.cxx#1095) > > > > > > > > > Cheers, Fons. > > > > > > > > > Ivan Storgaard Vogelius wrote: > > > > > > > > Hi! > > > > I want to create a TTimer to update interactions with canvas > > > > regularly. I tried to do the following: > > > > TTimer *timer= new TTimer(500, kTRUE); > > > > timer->SetCommand("gSystem->ProcessEvents()"); > > > > timer->TurnOn(); > > > > > > > > But It causes the programme to crash(in CINT or compiled). How should it > > > > be done? > > > > > > > > Thanks > > > > Ivan > > > > > > -- > > > Org: CERN, European Laboratory for Particle Physics. > > > Mail: 1211 Geneve 23, Switzerland > > > E-Mail: Fons.Rademakers@cern.ch Phone: +41 22 7679248 > > > WWW: http://root.cern.ch/~rdm/ Fax: +41 22 7677910 > > > > > -- > Org: CERN, European Laboratory for Particle Physics. > Mail: 1211 Geneve 23, Switzerland > E-Mail: Fons.Rademakers@cern.ch Phone: +41 22 7679248 > WWW: http://root.cern.ch/~rdm/ Fax: +41 22 7677910 >
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:44 MET