diff options
| author | Konstantin Belousov <kib@FreeBSD.org> | 2007-07-03 15:58:47 +0000 |
|---|---|---|
| committer | Konstantin Belousov <kib@FreeBSD.org> | 2007-07-03 15:58:47 +0000 |
| commit | 7aee5992a5f546d5610dd7c80c22eef7702a83f9 (patch) | |
| tree | 4c0f6ee7769bc7f7e73f74da584cdd55aea8b827 /sys/kern/sysv_sem.c | |
| parent | b30e4bb39f8a383f17b55305c3d605eb78e3ba9f (diff) | |
Notes
Diffstat (limited to 'sys/kern/sysv_sem.c')
| -rw-r--r-- | sys/kern/sysv_sem.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/sysv_sem.c b/sys/kern/sysv_sem.c index e7d1c5adb2dc..48548a214917 100644 --- a/sys/kern/sysv_sem.c +++ b/sys/kern/sysv_sem.c @@ -826,9 +826,9 @@ kern_semctl(struct thread *td, int semid, int semnum, int cmd, mtx_unlock(sema_mtxp); array = malloc(sizeof(*array) * count, M_TEMP, M_WAITOK); error = copyin(arg->array, array, count * sizeof(*array)); + mtx_lock(sema_mtxp); if (error) break; - mtx_lock(sema_mtxp); if ((error = semvalid(semid, semakptr)) != 0) goto done2; KASSERT(count == semakptr->u.sem_nsems, ("nsems changed")); |
