blob: 826ce51ef88f788d3558ce48213d3b01824d7999 [file]
// Copyright 2020 The IREE Authors
//
// Licensed under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
// NOTE: must be first to ensure that we can define settings for all includes.
#include "iree/base/internal/wait_handle_impl.h"
#if IREE_WAIT_API == IREE_WAIT_API_KQUEUE
#include "iree/base/internal/wait_handle_posix.h"
#include "iree/base/tracing.h"
//===----------------------------------------------------------------------===//
// iree_wait_set_t
//===----------------------------------------------------------------------===//
// TODO(benvanik): iree_wait_set_s using a kqueue.
// Could just cast the kqueue() fd to iree_wait_set_s* to avoid allocs.
// https://developer.apple.com/library/archive/documentation/System/Conceptual/ManPages_iPhoneOS/man2/kqueue.2.html
struct iree_wait_set_t {
int reserved;
};
iree_status_t iree_wait_set_allocate(iree_host_size_t capacity,
iree_allocator_t allocator,
iree_wait_set_t** out_set) {
// TODO(benvanik): kqueue support
}
void iree_wait_set_free(iree_wait_set_t* set) {
// TODO(benvanik): close()
}
iree_status_t iree_wait_set_insert(iree_wait_set_t* set,
iree_wait_handle_t handle) {
// TODO(benvanik): kqueue support
}
void iree_wait_set_erase(iree_wait_set_t* set, iree_wait_handle_t handle) {
// TODO(benvanik): kqueue support
}
void iree_wait_set_clear(iree_wait_set_t* set) {
// TODO(benvanik): kqueue support
}
iree_status_t iree_wait_all(iree_wait_set_t* set, iree_time_t deadline_ns) {
// TODO(benvanik): kqueue support
}
iree_status_t iree_wait_any(iree_wait_set_t* set, iree_time_t deadline_ns,
iree_wait_handle_t* out_wake_handle) {
// TODO(benvanik): kqueue support
}
iree_status_t iree_wait_one(iree_wait_handle_t* handle,
iree_time_t deadline_ns) {
// TODO(benvanik): kqueue support
}
#endif // IREE_WAIT_API == IREE_WAIT_API_KQUEUE