Is there a reason for this besides killing threads not (currently) working?
Unix threads are a PITA. They can interfere with the rest of the app, but they can't be debugged, they can't be suspended or killed, they can't handle signals, they can't use debug traces, etc.