The alternate stacks for signal handlers doesn't seem to be the problem with threads and signals. I made the changes that Henry outlined, but they haven't changed any behavior -- either in the C-codegen (which still works) or in the x86-codegen (which still doesn't work).