Lines Matching refs:objs
98 const int *objs, __u32 owner, int alert, __u32 *index) in wait_objs() argument
108 args.objs = (uintptr_t)objs; in wait_objs()
117 static int wait_any(int fd, __u32 count, const int *objs, __u32 owner, __u32 *index) in wait_any() argument
119 return wait_objs(fd, NTSYNC_IOC_WAIT_ANY, count, objs, owner, 0, index); in wait_any()
122 static int wait_all(int fd, __u32 count, const int *objs, __u32 owner, __u32 *index) in wait_all() argument
124 return wait_objs(fd, NTSYNC_IOC_WAIT_ALL, count, objs, owner, 0, index); in wait_all()
127 static int wait_any_alert(int fd, __u32 count, const int *objs, in wait_any_alert() argument
131 count, objs, owner, alert, index); in wait_any_alert()
134 static int wait_all_alert(int fd, __u32 count, const int *objs, in wait_all_alert() argument
138 count, objs, owner, alert, index); in wait_all_alert()
502 int objs[NTSYNC_MAX_WAIT_COUNT + 1], fd, ret; in TEST() local
515 objs[0] = ioctl(fd, NTSYNC_IOC_CREATE_SEM, &sem_args); in TEST()
516 EXPECT_LE(0, objs[0]); in TEST()
520 objs[1] = ioctl(fd, NTSYNC_IOC_CREATE_MUTEX, &mutex_args); in TEST()
521 EXPECT_LE(0, objs[1]); in TEST()
523 ret = wait_any(fd, 2, objs, 123, &index); in TEST()
526 check_sem_state(objs[0], 1, 3); in TEST()
527 check_mutex_state(objs[1], 0, 0); in TEST()
529 ret = wait_any(fd, 2, objs, 123, &index); in TEST()
532 check_sem_state(objs[0], 0, 3); in TEST()
533 check_mutex_state(objs[1], 0, 0); in TEST()
535 ret = wait_any(fd, 2, objs, 123, &index); in TEST()
538 check_sem_state(objs[0], 0, 3); in TEST()
539 check_mutex_state(objs[1], 1, 123); in TEST()
542 ret = release_sem(objs[0], &count); in TEST()
546 ret = wait_any(fd, 2, objs, 123, &index); in TEST()
549 check_sem_state(objs[0], 0, 3); in TEST()
550 check_mutex_state(objs[1], 1, 123); in TEST()
552 ret = wait_any(fd, 2, objs, 123, &index); in TEST()
555 check_sem_state(objs[0], 0, 3); in TEST()
556 check_mutex_state(objs[1], 2, 123); in TEST()
558 ret = wait_any(fd, 2, objs, 456, &index); in TEST()
563 ret = ioctl(objs[1], NTSYNC_IOC_MUTEX_KILL, &owner); in TEST()
566 ret = wait_any(fd, 2, objs, 456, &index); in TEST()
571 ret = wait_any(fd, 2, objs, 456, &index); in TEST()
575 close(objs[1]); in TEST()
580 ret = release_sem(objs[0], &count); in TEST()
584 objs[1] = objs[0]; in TEST()
585 ret = wait_any(fd, 2, objs, 456, &index); in TEST()
588 check_sem_state(objs[0], 1, 3); in TEST()
595 objs[i] = objs[0]; in TEST()
597 ret = wait_any(fd, NTSYNC_MAX_WAIT_COUNT, objs, 123, &index); in TEST()
601 ret = wait_any(fd, NTSYNC_MAX_WAIT_COUNT + 1, objs, 123, &index); in TEST()
605 ret = wait_any(fd, -1, objs, 123, &index); in TEST()
609 close(objs[0]); in TEST()
620 int objs[2], fd, ret; in TEST() local
627 objs[0] = ioctl(fd, NTSYNC_IOC_CREATE_SEM, &sem_args); in TEST()
628 EXPECT_LE(0, objs[0]); in TEST()
632 objs[1] = ioctl(fd, NTSYNC_IOC_CREATE_MUTEX, &mutex_args); in TEST()
633 EXPECT_LE(0, objs[1]); in TEST()
635 ret = wait_all(fd, 2, objs, 123, &index); in TEST()
638 check_sem_state(objs[0], 1, 3); in TEST()
639 check_mutex_state(objs[1], 1, 123); in TEST()
641 ret = wait_all(fd, 2, objs, 456, &index); in TEST()
644 check_sem_state(objs[0], 1, 3); in TEST()
645 check_mutex_state(objs[1], 1, 123); in TEST()
647 ret = wait_all(fd, 2, objs, 123, &index); in TEST()
650 check_sem_state(objs[0], 0, 3); in TEST()
651 check_mutex_state(objs[1], 2, 123); in TEST()
653 ret = wait_all(fd, 2, objs, 123, &index); in TEST()
656 check_sem_state(objs[0], 0, 3); in TEST()
657 check_mutex_state(objs[1], 2, 123); in TEST()
660 ret = release_sem(objs[0], &count); in TEST()
664 ret = wait_all(fd, 2, objs, 123, &index); in TEST()
667 check_sem_state(objs[0], 2, 3); in TEST()
668 check_mutex_state(objs[1], 3, 123); in TEST()
671 ret = ioctl(objs[1], NTSYNC_IOC_MUTEX_KILL, &owner); in TEST()
674 ret = wait_all(fd, 2, objs, 123, &index); in TEST()
677 check_sem_state(objs[0], 1, 3); in TEST()
678 check_mutex_state(objs[1], 1, 123); in TEST()
680 close(objs[1]); in TEST()
684 objs[1] = ioctl(fd, NTSYNC_IOC_CREATE_EVENT, &event_args); in TEST()
685 EXPECT_LE(0, objs[1]); in TEST()
687 ret = wait_all(fd, 2, objs, 123, &index); in TEST()
690 check_sem_state(objs[0], 0, 3); in TEST()
691 check_event_state(objs[1], 1, 1); in TEST()
693 close(objs[1]); in TEST()
696 objs[1] = objs[0]; in TEST()
697 ret = wait_all(fd, 2, objs, 123, &index); in TEST()
701 close(objs[0]); in TEST()
754 int objs[2], fd, ret; in TEST() local
762 objs[0] = ioctl(fd, NTSYNC_IOC_CREATE_SEM, &sem_args); in TEST()
763 EXPECT_LE(0, objs[0]); in TEST()
767 objs[1] = ioctl(fd, NTSYNC_IOC_CREATE_MUTEX, &mutex_args); in TEST()
768 EXPECT_LE(0, objs[1]); in TEST()
773 wait_args.objs = (uintptr_t)objs; in TEST()
787 ret = release_sem(objs[0], &count); in TEST()
790 check_sem_state(objs[0], 0, 3); in TEST()
800 ret = wait_any(fd, 1, &objs[1], 123, &index); in TEST()
812 ret = unlock_mutex(objs[1], 123, &count); in TEST()
819 ret = unlock_mutex(objs[1], 123, &count); in TEST()
822 check_mutex_state(objs[1], 1, 456); in TEST()
829 close(objs[1]); in TEST()
835 objs[1] = ioctl(fd, NTSYNC_IOC_CREATE_EVENT, &event_args); in TEST()
836 EXPECT_LE(0, objs[1]); in TEST()
845 ret = ioctl(objs[1], NTSYNC_IOC_EVENT_SET, &signaled); in TEST()
848 check_event_state(objs[1], 0, 0); in TEST()
862 ret = ioctl(objs[1], NTSYNC_IOC_EVENT_PULSE, &signaled); in TEST()
865 check_event_state(objs[1], 0, 0); in TEST()
872 close(objs[1]); in TEST()
876 objs[1] = ioctl(fd, NTSYNC_IOC_CREATE_EVENT, &event_args); in TEST()
877 EXPECT_LE(0, objs[1]); in TEST()
886 ret = ioctl(objs[1], NTSYNC_IOC_EVENT_SET, &signaled); in TEST()
889 check_event_state(objs[1], 1, 1); in TEST()
896 ret = ioctl(objs[1], NTSYNC_IOC_EVENT_RESET, &signaled); in TEST()
907 ret = ioctl(objs[1], NTSYNC_IOC_EVENT_PULSE, &signaled); in TEST()
910 check_event_state(objs[1], 0, 1); in TEST()
927 close(objs[0]); in TEST()
928 close(objs[1]); in TEST()
947 int objs[4], fd, ret; in TEST() local
955 objs[0] = ioctl(fd, NTSYNC_IOC_CREATE_SEM, &sem_args); in TEST()
956 EXPECT_LE(0, objs[0]); in TEST()
960 objs[1] = ioctl(fd, NTSYNC_IOC_CREATE_MUTEX, &mutex_args); in TEST()
961 EXPECT_LE(0, objs[1]); in TEST()
965 objs[2] = ioctl(fd, NTSYNC_IOC_CREATE_EVENT, &manual_event_args); in TEST()
966 EXPECT_LE(0, objs[2]); in TEST()
970 objs[3] = ioctl(fd, NTSYNC_IOC_CREATE_EVENT, &auto_event_args); in TEST()
971 EXPECT_EQ(0, objs[3]); in TEST()
974 wait_args.objs = (uintptr_t)objs; in TEST()
987 ret = release_sem(objs[0], &count); in TEST()
994 check_sem_state(objs[0], 1, 3); in TEST()
996 ret = wait_any(fd, 1, &objs[0], 123, &index); in TEST()
1000 ret = unlock_mutex(objs[1], 123, &count); in TEST()
1007 check_mutex_state(objs[1], 0, 0); in TEST()
1009 ret = ioctl(objs[2], NTSYNC_IOC_EVENT_RESET, &signaled); in TEST()
1014 ret = release_sem(objs[0], &count); in TEST()
1017 check_sem_state(objs[0], 2, 3); in TEST()
1019 ret = ioctl(objs[3], NTSYNC_IOC_EVENT_RESET, &signaled); in TEST()
1023 ret = ioctl(objs[2], NTSYNC_IOC_EVENT_SET, &signaled); in TEST()
1027 ret = ioctl(objs[3], NTSYNC_IOC_EVENT_SET, &signaled); in TEST()
1031 check_sem_state(objs[0], 1, 3); in TEST()
1032 check_mutex_state(objs[1], 1, 456); in TEST()
1033 check_event_state(objs[2], 1, 1); in TEST()
1034 check_event_state(objs[3], 0, 0); in TEST()
1050 close(objs[0]); in TEST()
1051 close(objs[1]); in TEST()
1052 close(objs[2]); in TEST()
1053 close(objs[3]); in TEST()
1070 int objs[2], event, fd, ret; in TEST() local
1078 objs[0] = ioctl(fd, NTSYNC_IOC_CREATE_SEM, &sem_args); in TEST()
1079 EXPECT_LE(0, objs[0]); in TEST()
1083 objs[1] = ioctl(fd, NTSYNC_IOC_CREATE_SEM, &sem_args); in TEST()
1084 EXPECT_LE(0, objs[1]); in TEST()
1105 ret = wait_any_alert(fd, 2, objs, 123, event, &index); in TEST()
1109 ret = wait_any_alert(fd, 2, objs, 123, event, &index); in TEST()
1119 wait_args.objs = (uintptr_t)objs; in TEST()
1151 ret = release_sem(objs[0], &count); in TEST()
1154 ret = wait_any_alert(fd, 2, objs, 123, event, &index); in TEST()
1158 ret = wait_any_alert(fd, 2, objs, 123, event, &index); in TEST()
1162 ret = wait_any_alert(fd, 2, objs, 123, event, &index); in TEST()
1168 close(objs[0]); in TEST()
1169 close(objs[1]); in TEST()
1181 int objs[2], event, fd, ret; in TEST() local
1189 objs[0] = ioctl(fd, NTSYNC_IOC_CREATE_SEM, &sem_args); in TEST()
1190 EXPECT_LE(0, objs[0]); in TEST()
1194 objs[1] = ioctl(fd, NTSYNC_IOC_CREATE_SEM, &sem_args); in TEST()
1195 EXPECT_LE(0, objs[1]); in TEST()
1202 ret = wait_all_alert(fd, 2, objs, 123, event, &index); in TEST()
1206 ret = wait_all_alert(fd, 2, objs, 123, event, &index); in TEST()
1216 wait_args.objs = (uintptr_t)objs; in TEST()
1248 ret = release_sem(objs[1], &count); in TEST()
1251 ret = wait_all_alert(fd, 2, objs, 123, event, &index); in TEST()
1255 ret = wait_all_alert(fd, 2, objs, 123, event, &index); in TEST()
1259 ret = wait_all_alert(fd, 2, objs, 123, event, &index); in TEST()
1265 close(objs[0]); in TEST()
1266 close(objs[1]); in TEST()
1285 wait_args.objs = (uintptr_t)&stress_start_event; in stress_thread()
1291 wait_args.objs = (uintptr_t)&stress_mutex; in stress_thread()