You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
TF-1521: win32: address spurious exceptions during RPC (#11)
It was reported that this module was throwing spurious exceptions during
network operations on certain Windows devices. After some investigation,
it is revealed that this was because the `KJ_NONBLOCKING_SYSCALL` macro
was being used to inspect the outcome of a Winsock call, which results
in `errno` being consulted erroneously instead of `WSAGetLastError()`,
and thus causing the "accept `EWOULDBLOCK`" logic to be ineffective.
To resolve this, we apply an appropriate* amount of pre-processor fun to
define a new macro, `FA_NONBLOCKING_SOCKCALL` which does the "right
thing" depending on if you're on Windows or not, resolving the bug.
* opinions may vary
This PR bumps the version of the `capnp` package to `0.5.7`, and
provides a new pre-compiled module for the "cross-compilation" workflow,
which is the output of the code contained in this PR.
I have tested that this resolves the reported bug by manually building a
client containing this node module.