You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "Chris Nauroth (JIRA)" <ji...@apache.org> on 2016/04/05 19:39:26 UTC

[jira] [Resolved] (HDFS-10257) Quick Thread Local Storage set-up has a small flaw

     [ https://issues.apache.org/jira/browse/HDFS-10257?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Chris Nauroth resolved HDFS-10257.
----------------------------------
    Resolution: Not A Problem

Great, thanks for confirming [~stevebovy].  I'll go ahead and close this issue.

> 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
>   Original Estimate: 72h
>  Remaining Estimate: 72h
>
> 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)