[ 
https://issues.apache.org/jira/browse/HADOOP-7824?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14655020#comment-14655020
 ] 

Martin Walsh commented on HADOOP-7824:
--------------------------------------

Sorry, I was not clear.  I meant you also need to #ifdef the whole function 
declaration so its not looking for those constants in windows.

{code}
#ifdef UNIX
/**
 * Initialises a list of java constants that are platform specific.
 * These are only initialized in UNIX.
 * Any exceptions that occur will be dealt at the level above.
**/
static void consts_init(JNIEnv *env) {
  jclass clazz = (*env)->FindClass(env, NATIVE_IO_POSIX_CLASS);
  if (clazz == NULL) {
    return; // exception has been raised
  }
  SET_INT_OR_RETURN(env, clazz, O_RDONLY);
  SET_INT_OR_RETURN(env, clazz, O_WRONLY);
...
}
#endif
{code}

> NativeIO.java flags and identifiers must be set correctly for each platform, 
> not hardcoded to their Linux values
> ----------------------------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-7824
>                 URL: https://issues.apache.org/jira/browse/HADOOP-7824
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: native
>    Affects Versions: 0.20.204.0, 0.20.205.0, 1.0.3, 0.23.0, 2.0.0-alpha, 3.0.0
>         Environment: Mac OS X, Linux, Solaris, Windows, ... 
>            Reporter: Dmytro Shteflyuk
>            Assignee: Martin Walsh
>              Labels: hadoop
>             Fix For: 2.8.0
>
>         Attachments: HADOOP-7824.001.patch, HADOOP-7824.002.patch, 
> HADOOP-7824.003.patch, HADOOP-7824.004.patch, HADOOP-7824.patch, 
> HADOOP-7824.patch, hadoop-7824.txt
>
>
> NativeIO.java flags and identifiers must be set correctly for each platform, 
> not hardcoded to their Linux values.  Constants like O_CREAT, O_EXCL, etc. 
> have different values on OS X and many other operating systems.



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

Reply via email to