gitignore [ci skip]
[awesomized/libmemcached] / util / pidfile.cc
index 11f7f398d7962d3cb02495f3a743fae3a552e094..90a6d17818096a77a72ddf4a98b68e9130f3409a 100644 (file)
@@ -35,7 +35,7 @@
  *
  */
 
-#include "config.h"
+#include "mem_config.h"
 
 #include "util/pidfile.hpp"
 
@@ -118,8 +118,13 @@ bool Pidfile::create()
     }
   }
 
+  int oflags= O_CREAT|O_WRONLY|O_TRUNC;
+#ifdef HAVE_O_CLOEXEC
+  oflags= oflags | O_CLOEXEC;
+#endif
+
   int file;
-  if ((file = open(_filename.c_str(), O_CREAT|O_WRONLY|O_TRUNC, S_IRWXU|S_IRGRP|S_IROTH)) < 0)
+  if ((file = open(_filename.c_str(), oflags, S_IRWXU|S_IRGRP|S_IROTH)) < 0)
   {
     std::stringstream error_stream;
     error_stream << "Could not open pid file for writing: " << _filename << "(" << strerror(errno) << ")";