HADOOP-11403. Avoid using sys_errlist on Solaris, which lacks support for it (Malcolm Kavalsky via Colin P. McCabe)
This commit is contained in:
parent
30a8778c63
commit
e36ef3b402
@ -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
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user