You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by zh...@apache.org on 2015/01/30 22:43:53 UTC
[9/9] hadoop git commit: HADOOP-11403. Avoid using sys_errlist on
Solaris, which lacks support for it (Malcolm Kavalsky via Colin P. McCabe)
HADOOP-11403. Avoid using sys_errlist on Solaris, which lacks support for it (Malcolm Kavalsky via Colin P. McCabe)
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/8de7e21d
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/8de7e21d
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/8de7e21d
Branch: refs/heads/HDFS-EC
Commit: 8de7e21d52b1853d54b49c9a01e30e0c1c3bf554
Parents: a38ace1
Author: Colin Patrick Mccabe <cm...@cloudera.com>
Authored: Thu Jan 29 15:43:57 2015 -0800
Committer: Zhe Zhang <zh...@apache.org>
Committed: Fri Jan 30 13:42:05 2015 -0800
----------------------------------------------------------------------
hadoop-common-project/hadoop-common/CHANGES.txt | 3 +++
.../hadoop-common/src/main/native/src/exception.c | 6 ++++++
.../native/src/org/apache/hadoop/io/nativeio/NativeIO.c | 7 ++-----
.../src/contrib/libwebhdfs/src/hdfs_http_client.c | 11 ++---------
4 files changed, 13 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/8de7e21d/hadoop-common-project/hadoop-common/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt
index cc254e0..c71d35a 100644
--- a/hadoop-common-project/hadoop-common/CHANGES.txt
+++ b/hadoop-common-project/hadoop-common/CHANGES.txt
@@ -794,6 +794,9 @@ Release 2.7.0 - UNRELEASED
HADOOP-9907. Webapp http://hostname:port/metrics link is not working.
(aajisaka)
+ HADOOP-11403. Avoid using sys_errlist on Solaris, which lacks support for it
+ (Malcolm Kavalsky via Colin P. McCabe)
+
Release 2.6.1 - UNRELEASED
INCOMPATIBLE CHANGES
http://git-wip-us.apache.org/repos/asf/hadoop/blob/8de7e21d/hadoop-common-project/hadoop-common/src/main/native/src/exception.c
----------------------------------------------------------------------
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 228af11..fc072e8 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,15 @@ jthrowable newIOException(JNIEnv* env, const char *fmt, ...)
const char* terror(int errnum)
{
+
+#if defined(__sun)
+// MT-Safe under Solaris which doesn't support sys_errlist/sys_nerr
+ return strerror(errnum);
+#else
if ((errnum < 0) || (errnum >= sys_nerr)) {
return "unknown error.";
}
return sys_errlist[errnum];
+#endif
}
http://git-wip-us.apache.org/repos/asf/hadoop/blob/8de7e21d/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/nativeio/NativeIO.c
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/nativeio/NativeIO.c b/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/nativeio/NativeIO.c
index d7f8d4b..071d830 100644
--- a/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/nativeio/NativeIO.c
+++ b/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/nativeio/NativeIO.c
@@ -19,6 +19,7 @@
#include "org_apache_hadoop.h"
#include "org_apache_hadoop_io_nativeio_NativeIO.h"
#include "org_apache_hadoop_io_nativeio_NativeIO_POSIX.h"
+#include "exception.h"
#ifdef UNIX
#include <assert.h>
@@ -893,11 +894,7 @@ void throw_ioe(JNIEnv* env, int errnum)
char message[80];
jstring jstr_message;
- if ((errnum >= 0) && (errnum < sys_nerr)) {
- snprintf(message, sizeof(message), "%s", sys_errlist[errnum]);
- } else {
- snprintf(message, sizeof(message), "Unknown error %d", errnum);
- }
+ snprintf(message,sizeof(message),"%s",terror(errnum));
jobject errno_obj = errno_to_enum(env, errnum);
http://git-wip-us.apache.org/repos/asf/hadoop/blob/8de7e21d/hadoop-hdfs-project/hadoop-hdfs/src/contrib/libwebhdfs/src/hdfs_http_client.c
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/contrib/libwebhdfs/src/hdfs_http_client.c b/hadoop-hdfs-project/hadoop-hdfs/src/contrib/libwebhdfs/src/hdfs_http_client.c
index e41f950..dc58318 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/contrib/libwebhdfs/src/hdfs_http_client.c
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/contrib/libwebhdfs/src/hdfs_http_client.c
@@ -21,21 +21,14 @@
#include <curl/curl.h>
#include "hdfs_http_client.h"
+#include "exception.h"
static pthread_mutex_t curlInitMutex = PTHREAD_MUTEX_INITIALIZER;
static volatile int curlGlobalInited = 0;
const char *hdfs_strerror(int errnoval)
{
- const char *msg = NULL;
- if (errnoval < 0 || errnoval >= sys_nerr) {
- msg = "Invalid Error Code";
- } else if (sys_errlist == NULL) {
- msg = "Unknown Error";
- } else {
- msg = sys_errlist[errnoval];
- }
- return msg;
+ return terror(errnoval);
}
int initResponseBuffer(struct ResponseBuffer **buffer)