summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--contrib/apple/daemon.c5
-rw-r--r--libglusterfs/src/compat.c19
-rw-r--r--libglusterfs/src/compat.h2
3 files changed, 24 insertions, 2 deletions
diff --git a/contrib/apple/daemon.c b/contrib/apple/daemon.c
index 07dbbc400b3..060f6a4307b 100644
--- a/contrib/apple/daemon.c
+++ b/contrib/apple/daemon.c
@@ -39,7 +39,6 @@
#include <errno.h>
#include <fcntl.h>
-#include <paths.h>
#include <signal.h>
#include <unistd.h>
@@ -77,7 +76,9 @@ os_daemon_return(nochdir, noclose)
if (!nochdir)
(void)chdir("/");
- if (!noclose && (fd = open(_PATH_DEVNULL, O_RDWR, 0)) != -1) {
+ /* Was using '_PATH_DEVNULL' earlier. As it was not defined in solaris,
+ changed to hardcoded path (and removed '#include <paths.h>' too) */
+ if (!noclose && (fd = open("/dev/null", O_RDWR, 0)) != -1) {
(void)dup2(fd, STDIN_FILENO);
(void)dup2(fd, STDOUT_FILENO);
(void)dup2(fd, STDERR_FILENO);
diff --git a/libglusterfs/src/compat.c b/libglusterfs/src/compat.c
index 42c20f52756..72bd0d3e2b5 100644
--- a/libglusterfs/src/compat.c
+++ b/libglusterfs/src/compat.c
@@ -528,6 +528,25 @@ solaris_rename (const char *old_path, const char *new_path)
return rename(old_path, new_path);
}
+
+char *
+mkdtemp (char *tempstring)
+{
+ char *new_string = NULL;
+ int ret = 0;
+
+ new_string = mktemp (tempstring);
+ if (!new_string)
+ goto out;
+
+ ret = mkdir (new_string, 0700);
+ if (ret < 0)
+ new_string = NULL;
+
+out:
+ return new_string;
+}
+
#endif /* GF_SOLARIS_HOST_OS */
#ifndef HAVE_STRNLEN
diff --git a/libglusterfs/src/compat.h b/libglusterfs/src/compat.h
index 4d336ea0647..34e72a8a1f2 100644
--- a/libglusterfs/src/compat.h
+++ b/libglusterfs/src/compat.h
@@ -284,6 +284,8 @@ int solaris_rename (const char *oldpath, const char *newpath);
int solaris_unlink (const char *pathname);
+char *mkdtemp (char *temp);
+
#define GF_SOLARIS_XATTR_DIR ".glusterfs_xattr_inode"
int solaris_xattr_resolve_path (const char *real_path, char **path);