/* 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; } 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; }