Hm. Amit a SignalHandlerről írtál, az nekem gyanús. Konkrétan amit leírtál az a klasszikus signal(2) rendszerhívás viselkedése(*), ellenben a sigaction(2)-t pont úgy tervezték meg, hogy ez kiküszöbölhető legyen. Erre szolgál a leírásban is emlegetett sa_mask - azaz, hogy mely signal-okat engedjük beesni a signalhandler futása során.
(*) A signal(2)-nál az volt a mondás, hogy a signalhandler-ben az első lépés legyen a signal újrahúzása, hogy ezt a problémát minimalizáljuk; hátulütője, hogy az első megszakítás beütése és a signalhandler tényleges elindulása (és így a újabb signal(2) hívása) között tetszőlegesen nagy lehet az időkülönbség az ütemező és a klasszikus időosztásosság miatt.
=====
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?