hadoop-hdfs-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stephen Bovy (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HDFS-10257) Quick Thread Local Storage set-up has a small flaw
Date Tue, 05 Apr 2016 03:12:25 GMT
Stephen Bovy created HDFS-10257:
-----------------------------------

             Summary: Quick Thread Local Storage set-up has a small flaw
                 Key: HDFS-10257
                 URL: https://issues.apache.org/jira/browse/HDFS-10257
             Project: Hadoop HDFS
          Issue Type: Bug
          Components: libhdfs
    Affects Versions: 2.6.4
         Environment: Linux 
            Reporter: Stephen Bovy
            Priority: Minor


In   jni_helper.c   in the   getJNIEnv    function 

The     “THREAD_LOCAL_STORAGE_SET_QUICK(env);”   Macro   is   in the  wrong location;
  

It should precede   the  “threadLocalStorageSet(env)”   as follows ::  

    THREAD_LOCAL_STORAGE_SET_QUICK(env);

    if (threadLocalStorageSet(env)) {
      return NULL;
    }

AND IN   “thread_local_storage.h”   the macro:   “THREAD_LOCAL_STORAGE_SET_QUICK”
should be as follows :: 

#ifdef HAVE_BETTER_TLS
  #define THREAD_LOCAL_STORAGE_GET_QUICK() \
    static __thread JNIEnv *quickTlsEnv = NULL; \
    { \
      if (quickTlsEnv) { \
        return quickTlsEnv; \
      } \
    }

  #define THREAD_LOCAL_STORAGE_SET_QUICK(env) \
    { \
      quickTlsEnv = (env); \
      return env;
    }
#else
  #define THREAD_LOCAL_STORAGE_GET_QUICK()
  #define THREAD_LOCAL_STORAGE_SET_QUICK(env)
#endif






--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message