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