1 #include <common.h> 2 3 int 4 main(void) { 5 struct stat sb; 6 sem_t *id; 7 int error; 8 9 id = sem_open(TEST_PATH, O_CREAT, 0777, 0); 10 if (id == SEM_FAILED) { 11 perror("sem_open"); 12 return 1; 13 } 14 15 error = stat("/var/run/sem", &sb); 16 if (error) { 17 perror("stat"); 18 return 1; 19 } 20 if ((sb.st_mode & ALLPERMS) != (S_IRWXU|S_IRWXG|S_IRWXO|S_ISTXT)) { 21 fprintf(stderr, "semaphore dir has incorrect mode: 0%o\n", 22 (sb.st_mode & ALLPERMS)); 23 return 1; 24 } 25 26 sem_close(id); 27 return 0; 28 } 29