//printf("AliEn: AddFile(%s, %s, %d)\n", lfn.Data(), stats->GetFileName(),
// (int)stats->GetFileSize());
- g->AddFile(lfn, stats->GetFileName(), (int)stats->GetFileSize());
+// g->AddFile(lfn, stats->GetFileName(), (int)stats->GetFileSize());
+ Int_t result = g->AddFile(lfn, stats->GetFileName(),
+ (int)stats->GetFileSize());
+ ALIDEBUG(1)
+ Info("UpdateAliEn", "TGrid::AddFile returned %d\n", result);
delete g;
}
// Process input stream
#ifdef USE_EB
- while (!ebEor()) {
+ Int_t eorFlag = 0;
+ while (!(eorFlag = ebEor())) {
+// while (!ebEor()) {
struct iovec *ebvec;
if ((ebvec = ebGetNextEvent()) == (void *)-1) {
Error("Run", "error getting next event (%s)", ebGetLastError());
}
return 1;
}
+ ALIDEBUG(3)
+ header.Dump();
// If we were in looping mode stop directly after a SIGUSR1 signal
if (StopLoop()) {
// If there is less data for this event than the next sub-event
// header, something is wrong. Skip to next event...
if (toRead < header.HeaderSize()) {
+ ALIDEBUG(1) {
+ Warning("Run",
+ "header size (%d) exceeds number of bytes to read (%d)\n",
+ header.HeaderSize(), toRead);
+ header.Dump();
+ }
if ((status = DumpEvent(toRead)) != toRead) {
if (status == 0)
break;
}
// Loop over all sub-events... (LDCs)
+ Int_t nsub = 1;
while (toRead > 0) {
- Int_t nsub = 1;
#ifdef USE_EB
ebdata = (char *)ebvec[nsub].iov_base;
#endif
return 1;
}
+ ALIDEBUG(3)
+ subHeader.Dump();
+
toRead -= subHeader.HeaderSize();
#ifdef USE_EB
// Make sure raw data less than left over bytes for current event
if (rawSize > toRead) {
+ ALIDEBUG(1) {
+ Warning("Run", "raw data size (%d) exceeds number of bytes "
+ "to read (%d)\n", rawSize, toRead);
+ subHeader.Dump();
+ }
if ((status = DumpEvent(toRead)) != toRead) {
if (status == 0)
break;
}
#endif
+#ifdef USE_EB
+ // Print eor flag
+ if (eorFlag) {
+ printf("Event builder reported end of run: %d\n", eorFlag);
+ }
+#endif
+
return 0;
}