[Spice-devel] [PATCH spice-streaming-agent v2 4/9] Introduce a short class to have RAII on the syslog

Lukáš Hrázký lhrazky at redhat.com
Tue Jun 26 11:50:48 UTC 2018


Signed-off-by: Lukáš Hrázký <lhrazky at redhat.com>
---
 src/spice-streaming-agent.cpp | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/src/spice-streaming-agent.cpp b/src/spice-streaming-agent.cpp
index be133e4..b434180 100644
--- a/src/spice-streaming-agent.cpp
+++ b/src/spice-streaming-agent.cpp
@@ -386,6 +386,22 @@ do_capture(StreamPort &stream_port, FrameLog &frame_log)
     }
 }
 
+class SyslogRAII
+{
+public:
+    SyslogRAII()
+    {
+        openlog("spice-streaming-agent",
+                isatty(fileno(stderr)) ? (LOG_PERROR|LOG_PID) : LOG_PID, LOG_USER);
+    }
+
+    ~SyslogRAII()
+    {
+        closelog();
+    }
+};
+
+
 int main(int argc, char* argv[])
 {
     const char *stream_port_name = "/dev/virtio-ports/org.spice-space.stream.0";
@@ -409,8 +425,7 @@ int main(int argc, char* argv[])
     };
     std::vector<std::string> old_args(argv, argv+argc);
 
-    openlog("spice-streaming-agent",
-            isatty(fileno(stderr)) ? (LOG_PERROR|LOG_PID) : LOG_PID, LOG_USER);
+    SyslogRAII syslog_raii;
 
     setlogmask(LOG_UPTO(LOG_WARNING));
 
@@ -501,6 +516,5 @@ int main(int argc, char* argv[])
         ret = EXIT_FAILURE;
     }
 
-    closelog();
     return ret;
 }
-- 
2.17.1



More information about the Spice-devel mailing list