From 21e66532c890c4e0bfe2d34f87e1f48881a0a342 Mon Sep 17 00:00:00 2001
From: Alexander van Amesfoort <amesfoort@astron.nl>
Date: Tue, 29 Aug 2017 16:08:04 +0000
Subject: [PATCH] Task #5441: COBALT RSP raw support: fix RSP raw output files
 not created on an RSP raw only observation. Create the .raw first using
 MSWriterFile(), which also creates the directory.
 ParameterSetImpl::writeFile() expects the directory to be accessible.

---
 RTCP/Cobalt/OutputProc/src/OutputThread.cc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/RTCP/Cobalt/OutputProc/src/OutputThread.cc b/RTCP/Cobalt/OutputProc/src/OutputThread.cc
index 14e9520bde1..805329a0d6b 100644
--- a/RTCP/Cobalt/OutputProc/src/OutputThread.cc
+++ b/RTCP/Cobalt/OutputProc/src/OutputThread.cc
@@ -423,8 +423,8 @@ namespace LOFAR
 
       if (itsParset.settings.realTime) {
         try {
-          rspRawParset.writeFile(path + ".parset");
           itsWriter = new MSWriterFile(path);
+          rspRawParset.writeFile(path + ".parset"); // relies on (recursive) mkdir by MSWriterFile()
 
           // The rest of the system doesn't know about RSP raw data output, but if monitoring did, enable this:
           //logInitialStreamMetadataEvents("RSPRaw", fileName, directoryName);
@@ -433,8 +433,8 @@ namespace LOFAR
           itsWriter = new MSWriterNull(itsParset);
         }
       } else { // don't handle exception in non-RT: it is fatal: avoid rethrow for a clean stracktrace
-        rspRawParset.writeFile(path + ".parset");
         itsWriter = new MSWriterFile(path);
+        rspRawParset.writeFile(path + ".parset"); // relies on (recursive) mkdir by MSWriterFile()
 
         // The rest of the system doesn't know about RSP raw data output, but if monitoring did, enable this:
         //logInitialStreamMetadataEvents("RSPRaw", fileName, directoryName);
-- 
GitLab