浏览代码

HADOOP-19170. Fixes compilation issues on non-Linux systems (#6822)

Reviewed-by: Steve Loughran <stevel@apache.org>
Reviewed-by: Wei-Chiu Chuang <weichiu@apache.org>
zhengchenyu 11 月之前
父节点
当前提交
4cb4d5dd08
共有 1 个文件被更改,包括 9 次插入3 次删除
  1. 9 3
      hadoop-common-project/hadoop-common/src/main/native/src/exception.c

+ 9 - 3
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
 }
-