I disagree with you there. The button reacts to the mouse cursor. Continu() runs when I click the button with the mouse, continu_over() runs when I go over it with the mouse cursor, which works fine, and continu_leave runs when the mouse cursor leaves the button, which also works, as it plays the beep() sound. Thing is, proc_kill((void*) continu_over); does NOT terminate continu_over, as it should.