From 073334fa5ee622a1f08481a808b3c05220da4e0c Mon Sep 17 00:00:00 2001
From: Chris Broekema <broekema@astron.nl>
Date: Fri, 26 Jun 2009 09:24:14 +0000
Subject: [PATCH] Bug #1011: Add an optional flag to filestream setting file
 permissions

---
 LCS/Stream/include/Stream/FileStream.h | 2 ++
 LCS/Stream/src/FileStream.cc           | 6 ++++++
 2 files changed, 8 insertions(+)

diff --git a/LCS/Stream/include/Stream/FileStream.h b/LCS/Stream/include/Stream/FileStream.h
index 92acc2c7f16..fb1142b43eb 100644
--- a/LCS/Stream/include/Stream/FileStream.h
+++ b/LCS/Stream/include/Stream/FileStream.h
@@ -11,6 +11,8 @@ class FileStream : public FileDescriptorBasedStream
   public:
 	    FileStream(const char *name); // read-only; existing file
 	    FileStream(const char *name, int mode); // rd/wr; create file
+	    FileStream(const char *name, int flags, int mode); // rd/wr; create file, use given flags
+						   
     virtual ~FileStream();
 };
 
diff --git a/LCS/Stream/src/FileStream.cc b/LCS/Stream/src/FileStream.cc
index da7548d6960..d65c1d71ea3 100644
--- a/LCS/Stream/src/FileStream.cc
+++ b/LCS/Stream/src/FileStream.cc
@@ -25,6 +25,12 @@ FileStream::FileStream(const char *name, int mode)
 }
 
 
+FileStream::FileStream(const char *name, int flags, int mode)
+{
+  if ((fd = open(name, flags, mode)) < 0) 
+    throw SystemCallException("open", errno, THROW_ARGS);
+}
+
 FileStream::~FileStream()
 {
 }
-- 
GitLab