#include #include void handler(int signo) { printf(\"Into handler\\n\"); while(1); } int main() { struct sigaction act;
The "while(1)" in handler is preventing the first service call from ever returning. Remove that and subsequent interrupts should cause handler to be called again.
An interrupt service routine should not prevent the calling thread from returning.