Skip to content

v0.5.7

Latest
Compare
Choose a tag to compare
@p--b p--b released this 09 Apr 12:00
· 1 commit to main since this release
018dec0
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.