I use exec to transfer control from one instance of my program to a fresh one (so, for example, code changes get applied). However, the signals don't seem to work right in the new process. $SIG{INT} is set to run my interrupt handler, but it doesn't. I see "^C" on the screen, but my code does not run. Is there something I need to do in the new process to ensure my signals work correctly. Or, is there a better way to reload my program?