diff options
author | axel <axel@liljencrantz.se> | 2006-02-16 23:36:32 +1000 |
---|---|---|
committer | axel <axel@liljencrantz.se> | 2006-02-16 23:36:32 +1000 |
commit | cc69afc4fec7d5d2918a6ee086cef8e3f03324aa (patch) | |
tree | 60c3fb7f54db0afc593916819973e09cf61c192f /signal.c | |
parent | 777a559e1205278d50b80d5f96505b662fe02d24 (diff) |
Fix bug in fish causing occasionally incorrect signal handlers
darcs-hash:20060216133632-ac50b-f24c049830f9c6deca50aca640189ad3f87b630a.gz
Diffstat (limited to 'signal.c')
-rw-r--r-- | signal.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -387,7 +387,6 @@ static void handle_winch( int sig, siginfo_t *info, void *context ) static void handle_int( int sig, siginfo_t *info, void *context ) { reader_handle_int( sig ); - default_handler( sig, info, context); } @@ -422,6 +421,10 @@ void signal_reset_handlers() void signal_set_handlers() { struct sigaction act; + + if( is_interactive == -1 ) + return; + sigemptyset( & act.sa_mask ); act.sa_flags=SA_SIGINFO; act.sa_sigaction = &default_handler; @@ -442,7 +445,7 @@ void signal_set_handlers() recover. */ sigaction( SIGPIPE, &act, 0); - + if( is_interactive ) { /* |