32 {0xe70f1aa0, 0xab8b, 0x11cf,
33 {0x8c, 0xa3, 0x00, 0x80, 0x5f, 0x48, 0xa1, 0x92}},
34 {0xf9eab0c0, 0x26d4, 0x11d0,
35 {0xbb, 0xbf, 0x00, 0xaa, 0x00, 0x6c, 0x34, 0xe4}},
36 {0x9fc48064, 0x7298, 0x43e4,
37 {0xb7, 0xbd, 0x18, 0x1f, 0x20, 0x89, 0x79, 0x2a}}
81 if (
handle->submitted_events_1 == 0) {
83 afd_poll_info = &
handle->afd_poll_info_1;
87 }
else if (
handle->submitted_events_2 == 0) {
89 afd_poll_info = &
handle->afd_poll_info_2;
123 memset(&
req->u.io.overlapped, 0,
sizeof req->u.io.overlapped);
128 &
req->u.io.overlapped);
129 if (result != 0 && WSAGetLastError() != WSA_IO_PENDING) {
139 unsigned char mask_events;
143 afd_poll_info = &
handle->afd_poll_info_1;
144 handle->submitted_events_1 = 0;
145 mask_events =
handle->mask_events_1;
147 afd_poll_info = &
handle->afd_poll_info_2;
148 handle->submitted_events_2 = 0;
149 mask_events =
handle->mask_events_2;
164 unsigned char events = 0;
178 events &=
handle->events & ~mask_events;
193 handle->submitted_events_2)) != 0) {
196 handle->submitted_events_1 == 0 &&
197 handle->submitted_events_2 == 0) {
204 WSAPROTOCOL_INFOW* protocol_info) {
207 sock = WSASocketW(protocol_info->iAddressFamily,
208 protocol_info->iSocketType,
209 protocol_info->iProtocol,
212 WSA_FLAG_OVERLAPPED);
213 if (sock == INVALID_SOCKET) {
214 return INVALID_SOCKET;
217 if (!SetHandleInformation((
HANDLE) sock, HANDLE_FLAG_INHERIT, 0)) {
221 if (CreateIoCompletionPort((
HANDLE) sock,
232 return INVALID_SOCKET;
237 WSAPROTOCOL_INFOW* protocol_info) {
243 if (memcmp((
void*) &protocol_info->ProviderId,
245 sizeof protocol_info->ProviderId) == 0) {
252 return INVALID_SOCKET;
257 peer_socket =
loop->poll_peer_sockets[index];
258 if (peer_socket == 0) {
260 loop->poll_peer_sockets[index] = peer_socket;
270 unsigned char reported_events;
280 rfds.fd_array[0] =
handle->socket;
287 wfds.fd_array[0] =
handle->socket;
289 efds.fd_array[0] =
handle->socket;
301 if (
r == SOCKET_ERROR) {
311 if (rfds.fd_count > 0) {
312 assert(rfds.fd_count == 1);
317 if (wfds.fd_count > 0) {
318 assert(wfds.fd_count == 1);
321 }
else if (efds.fd_count > 0) {
322 assert(efds.fd_count == 1);
329 req->u.io.overlapped.InternalHigh = (
DWORD) reported_events;
340 if (
handle->submitted_events_1 == 0) {
343 handle->mask_events_1 = 0;
345 }
else if (
handle->submitted_events_2 == 0) {
349 handle->mask_events_2 = 0;
357 WT_EXECUTELONGFUNCTION)) {
368 unsigned char mask_events;
372 handle->submitted_events_1 = 0;
373 mask_events =
handle->mask_events_1;
375 handle->submitted_events_2 = 0;
376 mask_events =
handle->mask_events_2;
384 if (
handle->events != 0) {
391 int events =
req->u.io.overlapped.InternalHigh &
handle->events & ~mask_events;
398 handle->submitted_events_2)) != 0) {
401 handle->submitted_events_1 == 0 &&
402 handle->submitted_events_2 == 0) {
415 WSAPROTOCOL_INFOW protocol_info;
417 SOCKET peer_socket, base_socket;
430 base_socket = INVALID_SOCKET;
442 assert(base_socket != 0 && base_socket != INVALID_SOCKET);
451 len =
sizeof protocol_info;
455 (
char*) &protocol_info,
465 if (peer_socket != INVALID_SOCKET) {
467 handle->peer_socket = peer_socket;
474 handle->submitted_events_1 = 0;
478 handle->submitted_events_2 = 0;
487 int submitted_events;
496 if (
handle->events == 0) {
502 submitted_events =
handle->submitted_events_1 |
handle->submitted_events_2;
504 if (
handle->events & ~submitted_events) {
543 if (
handle->submitted_events_1 == 0 &&
544 handle->submitted_events_2 == 0) {
566 if (result == SOCKET_ERROR) {
567 error = WSAGetLastError();
568 if (
error != WSA_IO_PENDING)
static mcore_handle handle
static static sync static getppid static getegid const char static filename char static len const char char static bufsiz static mask static vfork const void static prot static getpgrp const char static swapflags static arg static fd static protocol static who struct sockaddr static addrlen static backlog struct timeval struct timezone static tz const struct iovec static count static mode const void const struct sockaddr static tolen const char static pathname void static offset struct stat static buf void long static basep static whence static length const void static len static semflg const void static shmflg const struct timespec req
static static sync static getppid static getegid const char static filename char static len const char char static bufsiz static mask static vfork const void static prot static getpgrp const char static swapflags static arg static fd socket
void uv_fatal_error(const int errorno, const char *syscall)
static INLINE void uv_want_endgame(uv_loop_t *loop, uv_handle_t *handle)
static INLINE HANDLE uv__get_osfhandle(int fd)
#define uv__handle_close(handle)
#define uv__handle_closing(handle)
return memset(p, 0, total)
static static fork const void static count static fd const char const char static newpath char char char static envp time_t static t const char static mode static whence const char static dir time_t static t unsigned static seconds const char struct utimbuf static buf static inc static sig const char static mode static oldfd struct tms static buf static getgid static geteuid const char static filename static arg static mask struct ustat static ubuf static getppid static setsid static egid sigset_t static set struct timeval struct timezone static tz select
assert(limit<=UINT32_MAX/2)
#define GET_REQ_ERROR(req)
static INLINE void uv_insert_pending_req(uv_loop_t *loop, uv_req_t *req)
#define SET_REQ_SUCCESS(req)
#define GET_REQ_SOCK_ERROR(req)
#define POST_COMPLETION_FOR_REQ(loop, req)
#define SET_REQ_ERROR(req, error)
_W64 unsigned int uintptr_t
AFD_POLL_HANDLE_INFO Handles[1]
int WSAAPI uv_msafd_poll(SOCKET socket, AFD_POLL_INFO *info_in, AFD_POLL_INFO *info_out, OVERLAPPED *overlapped)
int uv_poll_start(uv_poll_t *handle, int pevents, uv_poll_cb poll_cb)
int uv_poll_init(uv_loop_t *loop, uv_poll_t *handle, int fd)
int uv_poll_stop(uv_poll_t *handle)
int uv_poll_init_socket(uv_loop_t *loop, uv_poll_t *handle, uv_os_sock_t socket)
void error(const char *msg)
#define UV_REQ_INIT(req, typ)
#define uv__handle_init(loop_, h, type_)
#define uv__handle_stop(h)
#define uv__handle_start(h)
UV_EXTERN int uv_translate_sys_error(int sys_errno)
UV_EXTERN void uv_once(uv_once_t *guard, void(*callback)(void))
void(* uv_poll_cb)(uv_poll_t *handle, int status, int events)
static void uv__init_overlapped_dummy(void)
static const GUID uv_msafd_provider_ids[UV_MSAFD_PROVIDER_COUNT]
static AFD_POLL_INFO afd_poll_info_dummy_
static OVERLAPPED * uv__get_overlapped_dummy(void)
static void uv__fast_poll_submit_poll_req(uv_loop_t *loop, uv_poll_t *handle)
void uv_poll_endgame(uv_loop_t *loop, uv_poll_t *handle)
static int uv__poll_set(uv_poll_t *handle, int events, uv_poll_cb cb)
static void uv__slow_poll_submit_poll_req(uv_loop_t *loop, uv_poll_t *handle)
static void uv__fast_poll_process_poll_req(uv_loop_t *loop, uv_poll_t *handle, uv_req_t *req)
struct uv_single_fd_set_s uv_single_fd_set_t
static SOCKET uv__fast_poll_create_peer_socket(HANDLE iocp, WSAPROTOCOL_INFOW *protocol_info)
void uv_process_poll_req(uv_loop_t *loop, uv_poll_t *handle, uv_req_t *req)
static SOCKET uv__fast_poll_get_peer_socket(uv_loop_t *loop, WSAPROTOCOL_INFOW *protocol_info)
static OVERLAPPED overlapped_dummy_
int uv_poll_close(uv_loop_t *loop, uv_poll_t *handle)
static DWORD WINAPI uv__slow_poll_thread_proc(void *arg)
static uv_once_t overlapped_dummy_init_guard_
static void uv__slow_poll_process_poll_req(uv_loop_t *loop, uv_poll_t *handle, uv_req_t *req)
static AFD_POLL_INFO * uv__get_afd_poll_info_dummy(void)
#define UV_MSAFD_PROVIDER_COUNT
if(dbg->bits==RZ_SYS_BITS_64)
#define AFD_POLL_CONNECT_FAIL
#define AFD_POLL_DISCONNECT
#define AFD_POLL_LOCAL_CLOSE
static const z80_opcode fd[]