def MPI_Testall(context, args): count, requests_ptr, flag_ptr, status_ptr = args if count == 0: return False request_ids = context.controller.read_ints(requests_ptr, count) check.check_request_ids(context, request_ids, 2) context.state.set_test(request_ids, flag_ptr, requests_ptr, status_ptr) return True
def MPI_Waitall(context, args): count, requests_ptr, status_ptr = args if count == 0: return False request_ids = context.controller.read_ints(requests_ptr, count) check.check_request_ids(context, request_ids, 2) values = [] for request_id in request_ids: if context.state.get_persistent_request(request_id) is None: values.append(consts.MPI_REQUEST_NULL) else: values.append(request_id) context.controller.write_ints(requests_ptr, values) context.state.set_wait(request_ids, None, status_ptr) return True