mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-06-02 18:52:29 +00:00
Fix bug with send() on Windows in O_NONBLOCK mode
There is a bug in WIN32 where using CancelIoEx() on an overlapped i/o op initiated by WSASend() will cause WSAGetOverlappedResult() to report the operation failed when it actually succeeded. We now work around that, by having send and sendto initially consult WSAPoll() on O_NONBLOCK sockets
This commit is contained in:
parent
5aa970bc4e
commit
3c58ecd00c
4 changed files with 22 additions and 5 deletions
|
@ -65,7 +65,7 @@ int sys_select_nt(int, fd_set *, fd_set *, fd_set *, struct timeval *,
|
|||
|
||||
size_t __iovec2nt(struct NtIovec[hasatleast 16], const struct iovec *, size_t);
|
||||
|
||||
ssize_t __winsock_block(int64_t, uint32_t, bool, uint32_t, uint64_t,
|
||||
ssize_t __winsock_block(int64_t, uint32_t, int, uint32_t, uint64_t,
|
||||
int (*)(int64_t, struct NtOverlapped *, uint32_t *,
|
||||
void *),
|
||||
void *);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue