[
https://issues.apache.org/jira/browse/HDFS-573?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14081674#comment-14081674
]
Stephen Bovy commented on HDFS-573:
-----------------------------------
Thanks
I am an old-fashioned IBM main-framer, All my changes are backwards compatible
:)
Here is a slice for setting up dynamic load of the JVM
// begin JVM function set-up
// new jvm function declarations
typedef jint (*FGetVMS) ( JavaVM**, const jsize, jint* );
typedef jint (*FCreateVM) ( JavaVM**, void**, JavaVMInitArgs* );
#ifdef LOADJVM
// dynamically loaded
static FGetVMS hdfs_fpGetVM = NULL;
static FCreateVM hdfs_fpCreateVM = NULL;
#else
// implicitly linked and auto-loaded (original default code)
static FGetVMS hdfs_fpGetVM = JNI_GetCreatedJavaVMs;
static FCreateVM hdfs_fpCreateVM = JNI_CreateJavaVM;
#endif
> Porting libhdfs to Windows
> --------------------------
>
> Key: HDFS-573
> URL: https://issues.apache.org/jira/browse/HDFS-573
> Project: Hadoop HDFS
> Issue Type: Improvement
> Components: libhdfs
> Environment: Windows, Visual Studio 2008
> Reporter: Ziliang Guo
> Assignee: Chris Nauroth
> Attachments: HDFS-573.1.patch
>
> Original Estimate: 336h
> Remaining Estimate: 336h
>
> The current C code in libhdfs is written using C99 conventions and also uses
> a few POSIX specific functions such as hcreate, hsearch, and pthread mutex
> locks. To compile it using Visual Studio would require a conversion of the
> code in hdfsJniHelper.c and hdfs.c to C89 and replacement/reimplementation of
> the POSIX functions. The code also uses the stdint.h header, which is not
> part of the original C89, but there exists what appears to be a BSD licensed
> reimplementation written to be compatible with MSVC floating around. I have
> already done the other necessary conversions, as well as created a simplistic
> hash bucket for use with hcreate and hsearch and successfully built a DLL of
> libhdfs. Further testing is needed to see if it is usable by other programs
> to actually access hdfs, which will likely happen in the next few weeks as
> the Condor Project continues with its file transfer work.
> In the process, I've removed a few what I believe are extraneous consts and
> also fixed an incorrect array initialization where someone was attempting to
> initialize with something like this: JavaVMOption options[noArgs]; where
> noArgs was being incremented in the code above. This was in the
> hdfsJniHelper.c file, in the getJNIEnv function.
--
This message was sent by Atlassian JIRA
(v6.2#6252)