[v9_9] isc_errno_toresult()

4445.	[cleanup]	isc_errno_toresult() can now be used to call the
			formerly private function isc__errno2result().
			[RT #43050]

(cherry picked from commit ddef16e1d9)
This commit is contained in:
Evan Hunt
2016-08-17 11:31:57 -07:00
parent 69d239f1c9
commit 65e144e0de
19 changed files with 261 additions and 32 deletions

View File

@@ -13,8 +13,6 @@
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
# $Id: Makefile.in,v 1.14 2009/12/05 23:31:41 each Exp $
srcdir = @srcdir@
VPATH = @srcdir@
top_srcdir = @top_srcdir@
@@ -27,11 +25,11 @@ CDEFINES =
CWARNINGS =
# Alphabetically
OBJS = condition.@O@ dir.@O@ file.@O@ fsaccess.@O@ once.@O@ \
stdtime.@O@ thread.@O@ time.@O@
OBJS = condition.@O@ dir.@O@ errno.@O@ file.@O@ fsaccess.@O@ \
once.@O@ stdtime.@O@ thread.@O@ time.@O@
# Alphabetically
SRCS = condition.c dir.c file.c once.c fsaccess.c \
SRCS = condition.c dir.c errno.c file.c once.c fsaccess.c \
stdtime.c thread.c time.c
SUBDIRS = include

18
lib/isc/win32/errno.c Normal file
View File

@@ -0,0 +1,18 @@
/*
* Copyright (C) 2016 Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
/*! \file */
#include <config.h>
#include "errno2result.h"
isc_result_t
isc_errno_toresult(int err) {
return (isc__errno2resultx(err, ISC_FALSE, 0, 0));
}

View File

@@ -32,7 +32,9 @@
* not already there.
*/
isc_result_t
isc__errno2resultx(int posixerrno, const char *file, int line) {
isc__errno2resultx(int posixerrno, isc_boolean_t dolog,
const char *file, int line)
{
char strbuf[ISC_STRERRORSIZE];
switch (posixerrno) {
@@ -99,9 +101,13 @@ isc__errno2resultx(int posixerrno, const char *file, int line) {
case WSAENOBUFS:
return (ISC_R_NORESOURCES);
default:
isc__strerror(posixerrno, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(file, line, "unable to convert errno "
"to isc_result: %d: %s", posixerrno, strbuf);
if (dolog) {
isc__strerror(posixerrno, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(file, line,
"unable to convert errno "
"to isc_result: %d: %s",
posixerrno, strbuf);
}
/*
* XXXDCL would be nice if perhaps this function could
* return the system's error string, so the caller

View File

@@ -30,10 +30,11 @@
ISC_LANG_BEGINDECLS
#define isc__errno2result(posixerrno) \
isc__errno2resultx(posixerrno, __FILE__, __LINE__)
isc__errno2resultx(posixerrno, ISC_TRUE, __FILE__, __LINE__)
isc_result_t
isc__errno2resultx(int posixerrno, const char *file, int line);
isc__errno2resultx(int posixerrno, isc_boolean_t dolog,
const char *file, int line);
ISC_LANG_ENDDECLS

View File

@@ -113,6 +113,10 @@ SOURCE=.\entropy.c
# End Source File
# Begin Source File
SOURCE=.\errno.c
# End Source File
# Begin Source File
SOURCE=.\errno2result.c
# End Source File
# Begin Source File
@@ -269,6 +273,10 @@ SOURCE=..\include\isc\entropy.h
# End Source File
# Begin Source File
SOURCE=..\include\isc\errno.h
# End Source File
# Begin Source File
SOURCE=.\errno2result.h
# End Source File
# Begin Source File

View File

@@ -129,6 +129,7 @@ CLEAN :
-@erase "$(INTDIR)\dir.obj"
-@erase "$(INTDIR)\DLLMain.obj"
-@erase "$(INTDIR)\entropy.obj"
-@erase "$(INTDIR)\errno.obj"
-@erase "$(INTDIR)\errno2result.obj"
-@erase "$(INTDIR)\error.obj"
-@erase "$(INTDIR)\event.obj"
@@ -221,6 +222,7 @@ LINK32_OBJS= \
"$(INTDIR)\dir.obj" \
"$(INTDIR)\DLLMain.obj" \
"$(INTDIR)\entropy.obj" \
"$(INTDIR)\errno.obj" \
"$(INTDIR)\errno2result.obj" \
"$(INTDIR)\file.obj" \
"$(INTDIR)\fsaccess.obj" \
@@ -347,6 +349,8 @@ CLEAN :
-@erase "$(INTDIR)\DLLMain.sbr"
-@erase "$(INTDIR)\entropy.obj"
-@erase "$(INTDIR)\entropy.sbr"
-@erase "$(INTDIR)\errno.obj"
-@erase "$(INTDIR)\errno.sbr"
-@erase "$(INTDIR)\errno2result.obj"
-@erase "$(INTDIR)\errno2result.sbr"
-@erase "$(INTDIR)\error.obj"
@@ -505,6 +509,7 @@ BSC32_SBRS= \
"$(INTDIR)\dir.sbr" \
"$(INTDIR)\DLLMain.sbr" \
"$(INTDIR)\entropy.sbr" \
"$(INTDIR)\errno.sbr" \
"$(INTDIR)\errno2result.sbr" \
"$(INTDIR)\file.sbr" \
"$(INTDIR)\fsaccess.sbr" \
@@ -598,6 +603,7 @@ LINK32_OBJS= \
"$(INTDIR)\dir.obj" \
"$(INTDIR)\DLLMain.obj" \
"$(INTDIR)\entropy.obj" \
"$(INTDIR)\errno.obj" \
"$(INTDIR)\errno2result.obj" \
"$(INTDIR)\file.obj" \
"$(INTDIR)\fsaccess.obj" \
@@ -805,6 +811,23 @@ SOURCE=.\entropy.c
!ENDIF
SOURCE=.\errno.c
!IF "$(CFG)" == "libisc - @PLATFORM@ Release"
"$(INTDIR)\errno.obj" : $(SOURCE) "$(INTDIR)"
!ELSEIF "$(CFG)" == "libisc - @PLATFORM@ Debug"
"$(INTDIR)\errno.obj" "$(INTDIR)\errno.sbr" : $(SOURCE) "$(INTDIR)"
!ENDIF
SOURCE=.\errno2result.c
!IF "$(CFG)" == "libisc - @PLATFORM@ Release"

View File

@@ -65,6 +65,9 @@
<ClInclude Include="..\include\isc\entropy.h">
<Filter>Library Header Files</Filter>
</ClInclude>
<ClInclude Include="..\include\isc\errno.h">
<Filter>Library Header Files</Filter>
</ClInclude>
<ClInclude Include="..\include\isc\error.h">
<Filter>Library Header Files</Filter>
</ClInclude>
@@ -371,6 +374,9 @@
<ClCompile Include="entropy.c">
<Filter>Win32 Source Files</Filter>
</ClCompile>
<ClCompile Include="errno.c">
<Filter>Win32 Source Files</Filter>
</ClCompile>
<ClCompile Include="errno2result.c">
<Filter>Win32 Source Files</Filter>
</ClCompile>

View File

@@ -281,6 +281,7 @@ copy InstallFiles ..\Build\Release\
<ClInclude Include="..\include\isc\commandline.h" />
<ClInclude Include="..\include\isc\counter.h" />
<ClInclude Include="..\include\isc\entropy.h" />
<ClInclude Include="..\include\isc\errno.h" />
<ClInclude Include="..\include\isc\error.h" />
<ClInclude Include="..\include\isc\event.h" />
<ClInclude Include="..\include\isc\eventclass.h" />
@@ -443,6 +444,7 @@ copy InstallFiles ..\Build\Release\
<ClCompile Include="dir.c" />
<ClCompile Include="DLLMain.c" />
<ClCompile Include="entropy.c" />
<ClCompile Include="errno.c" />
<ClCompile Include="errno2result.c" />
<ClCompile Include="file.c" />
<ClCompile Include="fsaccess.c" />

View File

@@ -2473,7 +2473,7 @@ SocketIoThread(LPVOID ThreadContext) {
* Did the I/O operation complete?
*/
errstatus = GetLastError();
isc_result = isc__errno2resultx(errstatus, __FILE__, __LINE__);
isc_result = isc__errno2result(errstatus);
LOCK(&sock->lock);
CONSISTENT(sock);
@@ -2525,7 +2525,7 @@ SocketIoThread(LPVOID ThreadContext) {
goto wait_again;
} else {
errstatus = GetLastError();
isc_result = isc__errno2resultx(errstatus, __FILE__, __LINE__);
isc_result = isc__errno2result(errstatus);
socket_log(__LINE__, sock, NULL, EVENT, NULL, 0, 0,
"restart_accept() failed: errstatus=%d isc_result=%d",
errstatus, isc_result);