summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoralfred <alfred@FreeBSD.org>2003-01-10 23:13:16 +0000
committeralfred <alfred@FreeBSD.org>2003-01-10 23:13:16 +0000
commite540e35a2c49db9fab0d34d582f8af61c3456e92 (patch)
tree5210d8ecba4ae6db9d421e06d903d97e4d83702c
parent5fc7b42391b1760e39dbb4ef6b4f8d05ffc346a4 (diff)
downloadFreeBSD-src-e540e35a2c49db9fab0d34d582f8af61c3456e92.zip
FreeBSD-src-e540e35a2c49db9fab0d34d582f8af61c3456e92.tar.gz
make sem_leave return a usable errno instead of -1.
make ksem_close return that usable errno instead of -1 (ERESTART). PR: 46957
-rw-r--r--sys/kern/uipc_sem.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/kern/uipc_sem.c b/sys/kern/uipc_sem.c
index fa0d91a..e3912e1 100644
--- a/sys/kern/uipc_sem.c
+++ b/sys/kern/uipc_sem.c
@@ -494,7 +494,7 @@ sem_leave(p, ks)
DP(("sem_leave: returning\n"));
return (0);
}
- return (-1);
+ return (EINVAL);
}
static void
@@ -590,9 +590,9 @@ kern_sem_close(td, id)
ks = ID_TO_SEM(id);
/* this is not a valid operation for unnamed sems */
if (ks != NULL && ks->ks_name != NULL)
- error = sem_leave(td->td_proc, ks) == 0 ? 0 : EINVAL;
+ error = sem_leave(td->td_proc, ks);
mtx_unlock(&sem_lock);
- return (-1);
+ return (error);
}
#ifndef _SYS_SYSPROTO_H_
OpenPOWER on IntegriCloud