From cc24777a902f85966bd23ce73748a66f73ad02a2 Mon Sep 17 00:00:00 2001 From: counterpoint Date: Wed, 1 Jul 2015 09:46:01 +0100 Subject: [PATCH] Correct mkdir logic for default log directory. --- server/core/gateway.c | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/server/core/gateway.c b/server/core/gateway.c index c474083ee..8f486067c 100644 --- a/server/core/gateway.c +++ b/server/core/gateway.c @@ -1531,17 +1531,13 @@ int main(int argc, char **argv) /** Use default log directory /var/log/maxscale/ */ if(logdir == NULL) { - - if(access(default_logdir,F_OK) != 0) - { - if(mkdir(logdir,0555) != 0) - { - fprintf(stderr, - "Error: Cannot create log directory: %s\n", - default_logdir); - goto return_main; - } - } + if(mkdir(default_logdir,0777) != 0 && errno != EEXIST) + { + fprintf(stderr, + "Error: Cannot create log directory: %s\n", + default_logdir); + goto return_main; + } logdir = strdup(default_logdir); } @@ -1598,7 +1594,7 @@ int main(int argc, char **argv) /** * Set a data directory for the mysqld library, we use * a unique directory name to avoid clauses if multiple - * instances of the gateway are beign run on the same + * instances of the gateway are being run on the same * machine. */