Messages in this thread | | | Date | Sat, 26 Jun 2004 07:33:26 -0700 (PDT) | From | Steve G <> | Subject | Re: 2.6.x signal handler bug |
| |
Hi,
I looked at the test program and do not see anything wrong with the code. Contrary to what's already been said in this thread, sigsetjmp/siglongjmp only differ in that they restore the signal context. This should never cause a segfault.
Regarding re-entrancy, longjmp is stated as one of only 2 ways to exit signal handlers. Also, while the printf is not signal safe, it is not your problem either. BTW, this mechanism is used by some servers to prevent crashes even in the face of big problems. xinetd for one does this...so its important to have working.
I ran the test program on my machine under 2.4 and all works as expected. Under 2.6, it definitely segfaults. I tried using Electric Fence and valgrind to trap the error. Neither one could.
In summary, the program is valid and real world servers do this kind of thing. It does segfault under 2.6.
Hope this helps... -Steve Grubb
__________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |