From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 106433 invoked by alias); 23 Apr 2019 15:22:24 -0000 Mailing-List: contact cygwin-cvs-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: cygwin-cvs-owner@cygwin.com Received: (qmail 106391 invoked by uid 9078); 23 Apr 2019 15:22:24 -0000 Date: Tue, 23 Apr 2019 15:22:00 -0000 Message-ID: <20190423152224.106389.qmail@sourceware.org> Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Corinna Vinschen To: cygwin-cvs@sourceware.org Subject: [newlib-cygwin/cygwin-3_0-branch] Minor improvements to socket error handling: X-Act-Checkin: newlib-cygwin X-Git-Author: Erik M. Bray X-Git-Refname: refs/heads/cygwin-3_0-branch X-Git-Oldrev: ca4dd0b35c9d93a65b0a55a2767b46d3a50a3047 X-Git-Newrev: debad46cfe801e319151a085beaed595cc022b4c X-SW-Source: 2019-q2/txt/msg00039.txt.bz2 https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=debad46cfe801e319151a085beaed595cc022b4c commit debad46cfe801e319151a085beaed595cc022b4c Author: Erik M. Bray Date: Tue Apr 23 16:55:33 2019 +0200 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) Diff: --- 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 cd296d1..437712c 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