John D wrote, On 2009-03-20 11:30:
> This is an issue involving sigfaults caused by broken pipes when using 
> fast moving multithreaded libcurl NSS. The issue is that I am unaware of
> how to properly implement the correct signal handler or even to ignore
> the sigpipe and carry forward. My own code will correct for a sigpipe
> provided it can keep executing and not crash as it does now.

> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread -1272976464 (LWP 5789)]
> 0xb7a48a6b in NSSSSL_VersionCheck () from /usr/lib/libssl3.so.0d

That's certainly not a sigpipe.  The caller of that function has passed
an invalid pointer argument to the NSS function named above.  The caller
that did that needs to be corrected.

> All gdb tests show this is happening due to a sigpipe and while libcurl 
> handles this with MSG_NOSIGNAL I am very eager to either make NSS do the
> same or provide for an equally effective solution.

It would be inappropriate for NSS to defeat sigpipe's signal handler.
The handling of that signal is the responsibility of the application,
or code at a higher level than NSS.  Perhaps it would be appropriate for
libcurl to do that.
-- 
dev-tech-crypto mailing list
dev-tech-crypto@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-crypto

Reply via email to