Index: usr.bin/ipcrm/ipcrm.c =================================================================== --- usr.bin/ipcrm/ipcrm.c +++ usr.bin/ipcrm/ipcrm.c @@ -50,12 +50,11 @@ #include "ipc.h" -int signaled; -int errflg; -int rmverbose = 0; +static int signaled; +static int errflg; +static int rmverbose = 0; void usage(void); - int msgrm(key_t, int); int shmrm(key_t, int); int semrm(key_t, int); @@ -64,18 +63,15 @@ void usage(void) { - fprintf(stderr, "usage: ipcrm [-W] [-v[v]]\n" " [-q msqid] [-m shmid] [-s semid]\n" " [-Q msgkey] [-M shmkey] [-S semkey] ...\n"); - exit(1); } int msgrm(key_t key, int id) { - if (key == -1 || id == -1) { struct msqid_kernel *kxmsqids; size_t kxmsqids_len; @@ -116,7 +112,6 @@ int shmrm(key_t key, int id) { - if (key == -1 || id == -1) { struct shmid_kernel *kxshmids; size_t kxshmids_len; @@ -173,7 +168,7 @@ if ((kxsema[num].u.sem_perm.mode & SEM_ALLOC) != 0) { id = IXSEQ_TO_IPCID(num, kxsema[num].u.sem_perm); - if (semctl(id, IPC_RMID, NULL) < 0) { + if (semctl(id, 0, IPC_RMID, NULL) < 0) { if (rmverbose > 1) warn("semid(%d): ", id); errflg++; @@ -199,7 +194,6 @@ void not_configured(int signo __unused) { - signaled++; } @@ -210,7 +204,6 @@ key_t target_key; while ((c = getopt(argc, argv, "q:m:s:Q:M:S:vWy")) != -1) { - signaled = 0; switch (c) { case 'v': @@ -226,7 +219,6 @@ errflg = 0; signal(SIGSYS, not_configured); while ((c = getopt(argc, argv, "q:m:s:Q:M:S:vWy")) != -1) { - signaled = 0; switch (c) { case 'q': Index: usr.bin/ipcs/ipc.h =================================================================== --- usr.bin/ipcs/ipc.h +++ usr.bin/ipcs/ipc.h @@ -66,3 +66,10 @@ extern struct semid_kernel *sema; extern struct msqid_kernel *msqids; extern struct shmid_kernel *shmsegs; + +extern int semctl(int, int, int, ...); +extern int semget(key_t, int, int); +extern int shmget(key_t, size_t, int); +extern int shmctl(int, int, struct shmid_ds *); +extern int msgctl(int, int, struct msqid_ds *); +extern int msgget(key_t, int);