From: David Liebtag on
We've written a DLL which uses signal() to trap access violations and
floating point exceptions. This works fine when our DLL is loaded from our
executables that use either run-time or load-time linking.

However, when the DLL is loaded by Java, although the first thing we do is
call signal, our signal handler is not getting control when we hit floating
point errors.

I suspect there's some subtle interaction between the compiler used to build
java.exe and the VS C runtime library used by our DLL and executables.

Does anyone have any idea what might be going arong and what I could do to
fix it?

Thanks a lot.

David Liebtag


From: David Liebtag on
I figured it out the problem.

If the caller uses structured exception handling, our use of signal to set a
signal handler is ignored.

David Liebtag