On Fri, 2008-05-23 at 11:24 -0700, Neale Ferguson wrote:
> What I'm seeing is that take_deferred_signal() will issue a sigresend
> syscall with sig=18, siginfo=NULL, and mask={0,0,0,0}. The syscall
> results in the t_sig_check flag being set such that we do
> post_syscall() which will then check for pending signals. In
> post_syscall() ISSIG_PENDING returns '18' so we then call
> issig_forreal(). This in turn calls fsig() which examines the mask
> sent as part of the sigresend syscall. As this is zero we have
> issig_forreal() returning false which means psig() is not called and
> no signal reaches the sshd parent. The end result is that we start
> accumulating defunct processes. 

this sounds like you've rediscovered 

6598201 Fix for 6586967 broke the unreliable signal(3c) interface

which was introduced in snv_71 and fixed in snv_74

                                                - Bill


_______________________________________________
opensolaris-code mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to