From debad46cfe801e319151a085beaed595cc022b4c Mon Sep 17 00:00:00 2001 From: "Erik M. Bray" Date: Tue, 23 Apr 2019 16:55:33 +0200 Subject: [PATCH] Minor improvements to socket error handling: * Change default fallback for failed winsock error -> POSIX error mappings to EACCES, which is a valid errno for more socket-related syscalls. * Added a few previously missing entries to the wsock_errmap table that have obvious POSIX errno.h analogues. (cherry picked from commit 489e7e20480ff34a519d7299b226c56fa99f14a8) --- winsup/cygwin/net.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/net.cc b/winsup/cygwin/net.cc index cd296d19d..437712c63 100644 --- a/winsup/cygwin/net.cc +++ b/winsup/cygwin/net.cc @@ -177,6 +177,9 @@ static const errmap_t wsock_errmap[] = { {WSAEREMOTE, "WSAEREMOTE", EREMOTE}, {WSAEINVAL, "WSAEINVAL", EINVAL}, {WSAEFAULT, "WSAEFAULT", EFAULT}, + {WSAEBADF, "WSAEBADF", EBADF}, + {WSAEACCES, "WSAEACCES", EACCES}, + {WSAEMFILE, "WSAEMFILE", EMFILE}, {0, "NOERROR", 0}, {0, NULL, 0} }; @@ -188,7 +191,7 @@ find_winsock_errno (DWORD why) if (why == wsock_errmap[i].w) return wsock_errmap[i].e; - return EPERM; + return EACCES; } void