From 3e7fad01bf966ad09b3832e919dc5e435a70efe7 Mon Sep 17 00:00:00 2001
From: zwart <sdos@astron.nl>
Date: Mon, 3 Apr 2006 13:08:39 +0000
Subject: [PATCH] BugID: 677

Added ugly hack for udp sockets that are read as if it is raw ethernet
---
 Demo/CEP/TFlopCorrelator/TFC_Generator/src/WH_Strip.cc | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/Demo/CEP/TFlopCorrelator/TFC_Generator/src/WH_Strip.cc b/Demo/CEP/TFlopCorrelator/TFC_Generator/src/WH_Strip.cc
index aa945b391e8..317e5287a2d 100644
--- a/Demo/CEP/TFlopCorrelator/TFC_Generator/src/WH_Strip.cc
+++ b/Demo/CEP/TFlopCorrelator/TFC_Generator/src/WH_Strip.cc
@@ -121,7 +121,12 @@ void WH_Strip::process()
 
   cout<<"WH_Strip sending "<<myEthFrame.getPayloadSize()<<" bytes"<<endl;
   bool ret = itsTH.sendNonBlocking(myEthFrame.getPayloadp(), myEthFrame.getPayloadSize(), 0);
-  ASSERTSTR(ret, "TH couldn't send data");
+  if(!ret) {
+    cerr<<"TH couldn't send data, retrying"<<endl; // This is specifically for UDP sockets that are not really received by another process
+                                                   // The first call gives a 'connection refused' message, but a resend will really send the data
+    ret = itsTH.sendNonBlocking(myEthFrame.getPayloadp(), myEthFrame.getPayloadSize(), 0);
+  }
+
   // we handled one alarm, so decrease it
   theirNoAlarms--;
 }
-- 
GitLab