From c28cd5f7b81bf213e72a11a9b6f0d5039d25becb Mon Sep 17 00:00:00 2001
From: Alexander van Amesfoort <amesfoort@astron.nl>
Date: Tue, 29 Aug 2017 17:13:26 +0000
Subject: [PATCH] Task #5441: COBALT RSP raw support: RSPRawSender: improve
 error log: add stream name if SocketStream. Prior LOG turned out inadequate
 in test on operational system.

---
 RTCP/Cobalt/GPUProc/src/Station/RSPRawSender.cc | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/RTCP/Cobalt/GPUProc/src/Station/RSPRawSender.cc b/RTCP/Cobalt/GPUProc/src/Station/RSPRawSender.cc
index 5159b2497c0..a24b1ecbf8c 100644
--- a/RTCP/Cobalt/GPUProc/src/Station/RSPRawSender.cc
+++ b/RTCP/Cobalt/GPUProc/src/Station/RSPRawSender.cc
@@ -128,10 +128,16 @@ namespace LOFAR {
         if (exc.error == EAGAIN || exc.error == EWOULDBLOCK) {
           LOG_WARN("RSPRawSender: sent fewer packets than requested to avoid blocking");
         } else {
-          static bool errorSeen;
+          static bool errorSeen; // C++11: wrap into std::atomic, use mem order relaxed
           if (!errorSeen) {
-            LOG_ERROR_STR("RSPRawSender: " << exc.what()); // backtrace not useful here
             errorSeen = true;
+            SocketStream *sockStream = dynamic_cast<SocketStream *>(itsStream.get());
+            if (sockStream == NULL) {
+              LOG_ERROR_STR("RSPRawSender: " << exc.what()); // backtrace not useful here
+            } else {
+              LOG_ERROR_STR("RSPRawSender: stream: " << sockStream->getHostname() <<
+                            ':' << sockStream->getPort() << ' ' << exc.what()); // idem
+            }
           }
         }
       }
-- 
GitLab