| 1646 | return (*perrno == -1) ? 0 : -1; |
| 1647 | } |
| 1648 | int waitq::wait(Timeout timeout) |
| 1649 | { |
| 1650 | static_assert(sizeof(q) == sizeof(thread_list), "..."); |
| 1651 | auto lst = (thread_list*)&q; |
| 1652 | int ret = thread_usleep(timeout, lst); |
| 1653 | return waitq_translate_errno(ret); |
| 1654 | } |
| 1655 | int waitq::wait_defer(Timeout timeout, void(*defer)(void*), void* arg) { |
| 1656 | static_assert(sizeof(q) == sizeof(thread_list), "..."); |
| 1657 | auto lst = (thread_list*)&q; |