1 #include <common.h> 2 3 int 4 main(void) { 5 sem_t id; 6 int val; 7 8 if (sem_init(&id, 0, SEM_VALUE_MAX) < 0) { 9 perror("sem_init"); 10 return 1; 11 } 12 if (sem_getvalue(&id, &val) < 0) { 13 perror("sem_getvalue"); 14 sem_destroy(&id); 15 return 1; 16 } 17 if (val != SEM_VALUE_MAX) { 18 fprintf(stderr, "value %d != SEM_VALUE_MAX", val); 19 sem_destroy(&id); 20 return 1; 21 } 22 if (val < 0) { 23 fprintf(stderr, "value < 0"); 24 sem_destroy(&id); 25 return 1; 26 } 27 if (sem_destroy(&id) < 0) { 28 perror("sem_destroy"); 29 return 1; 30 } 31 return 0; 32 } 33