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