Bug in calling C function on Windows?

Juan Jose Comellas jcomellas at gmail.com
Tue Jan 9 05:44:35 PST 2007


This mail is not related specifically to your problem. I just wanted to warn
you that both the JVM and DMD/Phobos use the same Unix signals for garbage
collection (SIGUSR1 and SIGUSR2) on Linux. All hell will break loose if you
don't remap the signals the JVM uses.


Bradley Smith wrote:

> I'm experimenting with using D for Java Native Interface (JNI)
> programming. I may have encountered a bug with GDC calling a C function
> in the JavaVM invocation API. The following is the relevant code.
> 
> JNI_CreateJavaVM(&jvm, cast(void**)&env, &vm_args);
> version (gdcBugWorkaround) {
>    // Any statement can go here (even "int x = 0;")
>    assert (jvm !is null, "JNI_CreateJavaVM failed");
> }
> 
> For some reason, the program will crash unless some kinds of statements
> follow the call to JNI_CreateJavaVM. Is this a bug?
> 
> The full code and a build.bat script are in the attached zip. I'm using
> gdc --version: "gdc (GCC) 3.4.5 (mingw special) (gdc 0.21, using dmd
> 1.00)"
> 
> Thanks,
>    Bradley



More information about the D.gnu mailing list