http://bugzilla.novell.com/show_bug.cgi?id=601410 http://bugzilla.novell.com/show_bug.cgi?id=601410#c2 --- Comment #2 from Philippe Palazon <cestlabase@gmail.com> 2010-05-05 08:05:10 UTC --- (In reply to comment #0)
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E) =========================== Versions =========================== OS Version ====> openSUSE 11.2 (i586) VERSION = 11.2 g++ version ===> g++ (SUSE Linux) 4.4.1 [gcc-4_4-branch revision 150839] =========================== Context =========================== A C++ client tries to connect to a server =========================== Use case =========================== 1) We ignore the ABORT signal ===> we invoke signal(SIGABRT,SIG_IGN); 2) Creation socket ====> OK 3) The C++ client tries to connect ===> we invoke the connect primitive It fails because the server is not ready ====> OK 4) We throw an exception because the connect has failed then the kernel sends a ABORT signal whereas we have ignored it. ===> So problem NOTE: If we don't send an exception because the connect has failed the ABORT is ignored correctly Reproducible: Always Steps to Reproduce: - Create a C++ program which creates a socket - Ignore the ABORT signal - Call connect (no server present) which fails - Throw an exception just after the connect Actual Results: Every time that we cannot to connect to a server, even if we ignore the ABORT signal it is always sent when we throw an exception. Expected Results: Even, if we send an exception ABORT signal should be ignored so not sent by the kernel. my personal mail is cestlabase@gmail.com
Hello Jeff, I know that the c++ works like you indicate. The exception is catched/managed by the upper layer. The same code works under Windows and when an exception is thrown because the connection has failed there is no problem the program is not termninate i can try a new connection. I have tried to run the connection in a thread different that the current thread (this one where the connection request has been done by the upper layer) and in this case it works without problem. -- 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.