Comment 2 for bug 1834964

Revision history for this message
Stas Boukarev (stassats) wrote :

That trace just says "it fails when it fails".

I added a restore_sbcl_signals function in b656602a309fc9647dd01255154c1068305f12f7.
You can call it with (sb-alien:alien-funcall (sb-alien:extern-alien "restore_sbcl_signals" (function (values))))

It will erase any third party signal handlers, which the third party installing them might or might not like. It's possible to restore only the sa_mask but, after trying that with ImageMagick, that's not enough and SBCL crashes.

There's also a possibility of race conditions, so all signals need to be blocked around whatever overwrites them and restore_sbcl_signals, provided there's no other threads.