I have a server program where the main thread block on all signals and handle them appropriately. This was required for a graceful shutdown (using SIGINT ) or a reconfigure ( HUP ). However, I see that, gdb doesn't allow me to break into the debugger ( interrupt the running program ) if I block SIGINT. The "info signal" states that, Signal Stop Print Pass to program Description SIGHUP Yes Yes Yes Hangup SIGINT Yes Yes No Interrupt Still, SIGINT is passed to the program being debugged instead of GDB handling this. I have attached a sample program where I can reproduce this. I tried this on Solaris and HPUX. Once I attach to the running program, I can interrupt the program using "Ctrl-C". But, this doesn't work on gdb ( on SLES, SuSE 10.1 and RHAS 3.0 - gdb 6.4 and 6.0 ) and the signal is delivered to the running program. Any help is appreciated. --jaimon