Hello,

Michael Kelly, le mer. 28 janv. 2026 21:07:00 +0000, a ecrit:
> 4) The signal handler stack is set up using the same code as in 1) but in
> this instance there is now a pre-existing ss->context within
> _hurd_setup_sighandler in trampoline.c. The code however unconditionally
> refetches the floating point context via thread_get_state and overwrites the
> original state preserved during handling of the first signal.

Oh, nice catch!

> I was able to fix the testcases and indeed the stress-ng error reports by
> not refetching the floating point state at times when 'ss->context' wasn't
> NULL on entry. If this seems a viable method for solving this issue then I
> can tidy up what I've done and submit a patch for review.

Yes, that should be fine.

> The signal handling code seems very tricky to me and there's more than a
> chance that I've misunderstood or misinterpreted parts of it.

Signals are essentially the most complex thing in Unix.

Samuel

Reply via email to