http://bugzilla.novell.com/show_bug.cgi?id=601410 http://bugzilla.novell.com/show_bug.cgi?id=601410#c1 Jeff Mahoney <jeffm@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |jeffm@novell.com Resolution| |INVALID --- Comment #1 from Jeff Mahoney <jeffm@novell.com> 2010-05-04 20:52:39 UTC --- This isn't a bug, it's a misunderstanding of how C++ is supposed to work. SIGABRT is eventually how the program is terminated when there is an unhandled exception but the compiler isn't going to just let you violate the spec by blocking it. When there is an exception, it tries to locate the handler. If there isn't one, it's unhandled and the spec defines that the program will terminate. That is implemented by eventually calling abort(). abort() explicitly disables the signal handler before issuing the signal. So even if this was an actual bug somewhere, it wouldn't be in the kernel. You can add another handler for unhandled exceptions by passing a pointer to void (*somefunc)(void) to std::set_terminate(), but this only gets called before calling abort() directly. The bug is in your code. You have unhandled exceptions leaking out and causing the program to abort. If you want to ignore the error that a failed connect is causing just create an empty exception handler around that call. Your code will still be wrong but at least you won't get a SIGABRT. -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.