Date: Thu, 14 Jul 2016 19:01:13 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 211123] Throw C++ exception from a signal handler. Message-ID: <bug-211123-8@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D211123 Bug ID: 211123 Summary: Throw C++ exception from a signal handler. Product: Base System Version: 9.2-RELEASE Hardware: Any OS: Any Status: New Severity: Affects Many People Priority: --- Component: kern Assignee: freebsd-bugs@FreeBSD.org Reporter: cwittmann@infosearchintl.com Created attachment 172529 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D172529&action= =3Dedit Throwing C++ exception from a signal handler. I'm writing a multithreaded C++ server to run on FreeBSD AMD64 so I need to throw C++ exceptions from within a signal handler. Windows supports C++ exceptions from as signal handler as expected. On FreeBSD 10.2, even the -fnon-call-exceptions switch doesn't do a thing. Is there a way to build an AMD64 kernel that supports signal-handler except= ion throwing? // Exceptions.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <iostream> #include <signal.h> using namespace std; void handler(int signal) { throw 23; } int _tmain(int argc, _TCHAR* argv[]) { signal(SIGINT, handler); signal(SIGSEGV, handler); try { int* p =3D NULL; *p +=3D *p; //raise(SIGINT); cout << "... no catchie ..." << endl; } catch (...) { cout << "CAUGHT THE MOFO!" << endl; } return 0; } --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-211123-8>