You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by tr...@apache.org on 2008/06/03 23:46:50 UTC

svn commit: r662900 - /incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Daemon.cpp

Author: tross
Date: Tue Jun  3 14:46:49 2008
New Revision: 662900

URL: http://svn.apache.org/viewvc?rev=662900&view=rev
Log:
Create pid-dir if it does not exist

Modified:
    incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Daemon.cpp

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Daemon.cpp
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Daemon.cpp?rev=662900&r1=662899&r2=662900&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Daemon.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Daemon.cpp Tue Jun  3 14:46:49 2008
@@ -72,8 +72,18 @@
 } // namespace
 
 Daemon::Daemon(std::string _pidDir) : pidDir(_pidDir) {
+    struct stat s;
     pid = -1;
     pipeFds[0] = pipeFds[1] = -1;
+
+    if (::stat(pidDir.c_str(), &s)) {
+        if (errno == ENOENT) {
+            if (::mkdir(pidDir.c_str(), 0755))
+                throw Exception ("Can't create PID directory: " + pidDir);
+        }
+        else
+            throw Exception ("PID directory not found: " + pidDir);
+    }
 }
 
 string Daemon::pidFile(string pidDir, uint16_t port) {