From 4770d74c121ae4ad68568d9c8ecdeb234fedc774 Mon Sep 17 00:00:00 2001 From: Maliakal Dhanya Date: Tue, 18 Nov 2014 17:29:12 +0100 Subject: [PATCH] return even if eiger got only 16 bytes of a packet --- slsReceiverSoftware/src/UDPStandardImplementation.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/slsReceiverSoftware/src/UDPStandardImplementation.cpp b/slsReceiverSoftware/src/UDPStandardImplementation.cpp index 3b6f4a654..6c92bf98e 100644 --- a/slsReceiverSoftware/src/UDPStandardImplementation.cpp +++ b/slsReceiverSoftware/src/UDPStandardImplementation.cpp @@ -2019,7 +2019,7 @@ int i; exit(-1); } //push the last buffer into fifo - if(rc > 0){ + if((myDetectorType != EIGER) && (rc > 0)){ //for eiger throw away incomplete frames pc = (rc/onePacketSize); #ifdef VERYDEBUG cout << ithread << " *** last packetcount:" << pc << endl; @@ -2030,7 +2030,8 @@ int i; #ifdef VERYDEBUG cout << ithread << " *** last lbuf1:" << (void*)buffer[ithread] << endl; #endif - } + }else + fifoFree[ithread]->push(buffer[ithread]);//for all detectors too. why was this not there? for rc=0? //push dummy buffer to all writer threads