From 8bfa6a2175fa77183928c605a724c40c32d9af78 Mon Sep 17 00:00:00 2001 From: Calvin Morrison Date: Fri, 11 Apr 2014 10:06:50 -0400 Subject: fix line endings, add a try_mkdir function --- lock.c | 65 ++++++++++++++++++++++++++++++++++++++--------------------------- 1 file changed, 38 insertions(+), 27 deletions(-) diff --git a/lock.c b/lock.c index 1075628..871425d 100644 --- a/lock.c +++ b/lock.c @@ -1,27 +1,38 @@ -/* See LICENSE for licence details. */ -#include -#include -#include -#include -#include -#include - -int main(int argc, char **argv){ - if(argc != 2){ - fprintf(stderr, "Please supply one argument: the lock directory.\n"); - return EXIT_FAILURE; - } - - /* create lock */ - if(mkdir(argv[1], S_IRUSR)){ - if(errno && errno != EEXIST) { - fprintf(stderr, "Failed to create lock %s.\n", argv[1]); - return EXIT_FAILURE; - } - /* lock exists */ - for(; mkdir(argv[1], S_IRUSR); ){ - sleep(1); - } - } - return EXIT_SUCCESS; -} +/* See LICENSE for licence details. */ +#include +#include +#include +#include +#include +#include + +int try_mkdir(const char *dn) { + int ret; + + errno = 0; + ret = 0; + + ret = mkdir(dn, S_IRUSR); + if(errno && errno != EEXIST) { + fprintf(stderr, "Failed to create lock %s.\n", dn); + exit(EXIT_FAILURE); + } + return ret; + +} + +int main(int argc, char **argv){ + if(argc != 2){ + fprintf(stderr, "Please supply one argument: the lock directory.\n"); + return EXIT_FAILURE; + } + + /* create lock */ + if(try_mkdir(argv[1])){ + /* lock exists */ + for(; try_mkdir(argv[1]); ){ + sleep(1); + } + } + return EXIT_SUCCESS; +} -- cgit v1.2.1