_controlfp_s returning the high 32 bit?

0

I am seeing the return of the _controlfp_s unsigned int showing that the 32nd bit is being set (thought only 16 bits used) for some ODBC work?

Anybody any ideas what this means?

Normally we only see either 0x0008001F (64 bit) or 0x0009001F (32 bit) but on some occasions it would appear that 3rd party drivers or DLLs are setting this to 0x8009001F!!!!

We have noticed random closing of our application when the 3rd party software does this on occasions.

controlWord 10000000000010010000000000011111,

switchOffExceptions32bit 10010000000000011111, switchOffExceptions64bit 10000000000000011111

fpu
asked on Stack Overflow Mar 21, 2013 by Skyline

1 Answer

0

I have the same Problem using 3rd Party DLLs from Java over JNA (JNI). There is well known issue described here http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4644270 and some useful hints for this theme here http://blogs.msdn.com/b/dougste/archive/2008/11/12/random-and-unexpected-exception-flt-divide-by-zero-and-exception-flt-invalid-operation.aspx

answered on Stack Overflow Apr 11, 2013 by Ronald

User contributions licensed under CC BY-SA 3.0