aboutsummaryrefslogtreecommitdiff
path: root/src/platform/windows/win_debug.c
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2017-10-03 20:28:09 -0700
committerGarrett D'Amore <garrett@damore.org>2017-10-05 21:25:57 -0700
commitb0f31f578b0669b598d3ded3a625685b125bef1d (patch)
tree0044b1f6924700a4fe4e557826bb79796f9e94d0 /src/platform/windows/win_debug.c
parent557964482f2b9d4246a2943fb1bedc6074d01e0d (diff)
downloadnng-b0f31f578b0669b598d3ded3a625685b125bef1d.tar.gz
nng-b0f31f578b0669b598d3ded3a625685b125bef1d.tar.bz2
nng-b0f31f578b0669b598d3ded3a625685b125bef1d.zip
Improve UDP test coverage, fix numerous issues found.
We introduced richer, deeper tests for UDP functionality. These tests uncovered a number of issues which this commit fixes. The Windows IOCP code needs to support multiple aios on a single nni_win_event. A redesign of the IOCP handling addresses that. The POSIX UDP code also needed fixes; foremost among them is the fact that the UDP file descriptor is not placed into non-blocking mode, leading to potential hangs. A number of race conditions and bugs along the implementation of the above items were uncovered and fixed. To the best of our knowledge the current code is bug-free.
Diffstat (limited to 'src/platform/windows/win_debug.c')
-rw-r--r--src/platform/windows/win_debug.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/platform/windows/win_debug.c b/src/platform/windows/win_debug.c
index 5c6c3fb5..0113af58 100644
--- a/src/platform/windows/win_debug.c
+++ b/src/platform/windows/win_debug.c
@@ -83,8 +83,9 @@ nni_plat_errno(int errnum)
static struct {
int win_err;
int nng_err;
-} nni_win_errnos[] = {
- // clang-format off
+} nni_win_errnos[] =
+ {
+ // clang-format off
{ ERROR_FILE_NOT_FOUND, NNG_ENOENT },
{ ERROR_ACCESS_DENIED, NNG_EPERM },
{ ERROR_INVALID_HANDLE, NNG_ECLOSED },
@@ -114,6 +115,10 @@ static struct {
{ WSAENOPROTOOPT, NNG_ENOTSUP },
{ WSAEPROTONOSUPPORT, NNG_ENOTSUP },
{ WSAEPROTONOSUPPORT, NNG_ENOTSUP },
+ { WSAESOCKTNOSUPPORT, NNG_ENOTSUP },
+ { WSAEOPNOTSUPP, NNG_ENOTSUP },
+ { WSAEPFNOSUPPORT, NNG_ENOTSUP },
+ { WSAEAFNOSUPPORT, NNG_ENOTSUP },
{ WSAEADDRINUSE, NNG_EADDRINUSE },
{ WSAEADDRNOTAVAIL, NNG_EADDRINVAL },
{ WSAENETDOWN, NNG_EUNREACHABLE },
@@ -137,8 +142,8 @@ static struct {
// Must be Last!!
{ 0, 0 },
- // clang-format on
-};
+ // clang-format on
+ };
// This converts a Windows API error (from GetLastError()) to an
// nng standard error code.