mingw32 DLLs, threads and exceptions HOWTO
Bossom, John
John.Bossom@Cognos.COM
Mon Dec 11 07:29:00 GMT 2000
Just a technical note, you CAN get the Win32 environment to deal with
hardware exceptions by registering a handler with the Win32 Structured
Exception Handler and have that map the hardware exceptions to some
C++ exception and then throw it.
However, as Thomas pointed out, indirectly, on UNIX, the C++ mechanism
does not, and will not, handle hardware exceptions.
-----Original Message-----
From: Thomas Pfaff [ mailto:tpfaff@gmx.net ]
Sent: December 11, 2000 4:21 AM
To: rpj@ise.canberra.edu.au
Cc: pthreads-win32@sources.redhat.com
Subject: Re: mingw32 DLLs, threads and exceptions HOWTO
Hello Ross,
catch(...) does not work simply because no exception is raised (LINUX won't
either). This is a MSVC runtime feature.
You have to install a SIGFPE signal handler and use setjmp/longjmp to get
FP exceptions.
Regards,
Thomas
> Ross Johnson wrote
>
> As you noted, the exception1.c test fails. For some reason
> catch(...) isn't catching the deliberate zero divide exception.
> I've substituted a different exception, which passes. (The
> test simply confirms that the redefinition of catch in
> pthread.h works.)
>
More information about the Pthreads-win32
mailing list