From 4cb4d5dd08da1103bdbab8fdf275427eba11b806 Mon Sep 17 00:00:00 2001 From: zhengchenyu Date: Tue, 14 May 2024 11:04:01 +0800 Subject: [PATCH] HADOOP-19170. Fixes compilation issues on non-Linux systems (#6822) Reviewed-by: Steve Loughran Reviewed-by: Wei-Chiu Chuang --- .../hadoop-common/src/main/native/src/exception.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/hadoop-common-project/hadoop-common/src/main/native/src/exception.c b/hadoop-common-project/hadoop-common/src/main/native/src/exception.c index a25cc3d3b7..b4a9b81280 100644 --- a/hadoop-common-project/hadoop-common/src/main/native/src/exception.c +++ b/hadoop-common-project/hadoop-common/src/main/native/src/exception.c @@ -110,9 +110,16 @@ jthrowable newIOException(JNIEnv* env, const char *fmt, ...) const char* terror(int errnum) { - -#if defined(__sun) || defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 32) // MT-Safe under Solaris or glibc >= 2.32 not supporting sys_errlist/sys_nerr +#if defined(__sun) + #define USE_STR_ERROR +#elif defined(__GLIBC_PREREQ) + #if __GLIBC_PREREQ(2, 32) + #define USE_STR_ERROR + #endif +#endif + +#if defined(USE_STR_ERROR) return strerror(errnum); #else if ((errnum < 0) || (errnum >= sys_nerr)) { @@ -121,4 +128,3 @@ const char* terror(int errnum) return sys_errlist[errnum]; #endif } -