/* sem_remove.c SJ */ #include #include #include #include #include int main(int argc, char **argv) { union semun { /* for some reason, this union is not ready */ int val; } sem_val; int s, r; if ((argc != 2) || ((s = atoi(argv[1])) < 1 ) ) { fprintf(stderr, "Usage: %s semid\n", argv[0]); exit(1); } r = semctl(s, 0, IPC_RMID, sem_val); if (r == -1) perror("semctl"); exit(r); }