Lines Matching refs:sem

17 static int read_sem_state(int sem, __u32 *count, __u32 *max)  in read_sem_state()  argument
23 ret = ioctl(sem, NTSYNC_IOC_SEM_READ, &args); in read_sem_state()
29 #define check_sem_state(sem, count, max) \ argument
32 int ret = read_sem_state((sem), &__count, &__max); \
38 static int release_sem(int sem, __u32 *count) in release_sem() argument
40 return ioctl(sem, NTSYNC_IOC_SEM_RELEASE, count); in release_sem()
146 int fd, ret, sem; in TEST() local
155 sem = ioctl(fd, NTSYNC_IOC_CREATE_SEM, &sem_args); in TEST()
156 EXPECT_EQ(-1, sem); in TEST()
161 sem = ioctl(fd, NTSYNC_IOC_CREATE_SEM, &sem_args); in TEST()
162 EXPECT_LE(0, sem); in TEST()
163 check_sem_state(sem, 2, 2); in TEST()
166 ret = release_sem(sem, &count); in TEST()
169 check_sem_state(sem, 2, 2); in TEST()
172 ret = release_sem(sem, &count); in TEST()
175 check_sem_state(sem, 2, 2); in TEST()
177 ret = wait_any(fd, 1, &sem, 123, &index); in TEST()
180 check_sem_state(sem, 1, 2); in TEST()
182 ret = wait_any(fd, 1, &sem, 123, &index); in TEST()
185 check_sem_state(sem, 0, 2); in TEST()
187 ret = wait_any(fd, 1, &sem, 123, &index); in TEST()
192 ret = release_sem(sem, &count); in TEST()
195 check_sem_state(sem, 0, 2); in TEST()
198 ret = release_sem(sem, &count); in TEST()
201 check_sem_state(sem, 2, 2); in TEST()
203 ret = wait_any(fd, 1, &sem, 123, &index); in TEST()
205 ret = wait_any(fd, 1, &sem, 123, &index); in TEST()
209 ret = release_sem(sem, &count); in TEST()
212 check_sem_state(sem, 1, 2); in TEST()
215 ret = release_sem(sem, &count); in TEST()
218 check_sem_state(sem, 1, 2); in TEST()
220 close(sem); in TEST()