Lines Matching refs:semnum
786 static int wake_const_ops(struct sem_array *sma, int semnum, in wake_const_ops() argument
794 if (semnum == -1) in wake_const_ops()
797 pending_list = &sma->sem_base[semnum].pending_const; in wake_const_ops()
888 static int update_queue(struct sem_array *sma, int semnum, struct list_head *pt) in update_queue() argument
895 if (semnum == -1) in update_queue()
898 pending_list = &sma->sem_base[semnum].pending_alter; in update_queue()
915 if (semnum != -1 && sma->sem_base[semnum].semval == 0) in update_queue()
1016 static int check_qop(struct sem_array *sma, int semnum, struct sem_queue *q, in check_qop() argument
1032 if (sop->sem_num != semnum) in check_qop()
1050 static int count_semcnt(struct sem_array *sma, ushort semnum, in count_semcnt() argument
1060 l = &sma->sem_base[semnum].pending_const; in count_semcnt()
1062 l = &sma->sem_base[semnum].pending_alter; in count_semcnt()
1073 semcnt += check_qop(sma, semnum, q, count_zero); in count_semcnt()
1077 semcnt += check_qop(sma, semnum, q, count_zero); in count_semcnt()
1267 static int semctl_setval(struct ipc_namespace *ns, int semid, int semnum, in semctl_setval() argument
1296 if (semnum < 0 || semnum >= sma->sem_nsems) { in semctl_setval()
1321 curr = &sma->sem_base[semnum]; in semctl_setval()
1325 un->semadj[semnum] = 0; in semctl_setval()
1338 static int semctl_main(struct ipc_namespace *ns, int semid, int semnum, in semctl_main() argument
1464 if (semnum < 0 || semnum >= nsems) in semctl_main()
1472 curr = &sma->sem_base[semnum]; in semctl_main()
1482 err = count_semcnt(sma, semnum, 0); in semctl_main()
1485 err = count_semcnt(sma, semnum, 1); in semctl_main()
1587 SYSCALL_DEFINE4(semctl, int, semid, int, semnum, int, cmd, unsigned long, arg) in SYSCALL_DEFINE4() argument
1611 return semctl_main(ns, semid, semnum, cmd, p); in SYSCALL_DEFINE4()
1613 return semctl_setval(ns, semid, semnum, arg); in SYSCALL_DEFINE4()