Messages in this thread Patch in this message | | | Date | Mon, 8 Feb 1999 19:40:55 +0100 | From | Project BRAVO <> | Subject | [BUG (also in 2.2)] SIGURG signal to traced processes |
| |
A traced program that receives a SIGURG signal (neither caught nor explicitly ignored) aborts:
-------------------------------------------------------------- (gdb) run Starting program: /tmp/a.out
Program received signal SIGWINCH, Window size changed. 0x8048424 in main () at prova.c:1 1 void main(void){for(;;);} (gdb) cont Continuing.
Program terminated with signal SIGURG, Urgent I/O condition. The program no longer exists. (gdb) --------------------------------------------------------------
I believe that this could be a bug, since the default action of SIGURG (like SIGWINCH) is to ignore the signal.
The fix obviously consists of adding the SIGURG case in the switch statements of the do_signal() functions (arch/XXX/kernel/signal.c). For instance:
==================================================== --- linux-2.2.2-pre2/arch/i386/kernel/signal.c Mon Feb 8 19:17:07 1999 +++ linux/arch/i386/kernel/signal.c Mon Feb 8 19:15:56 1999 @@ -670,6 +670,7 @@
switch (signr) { case SIGCONT: case SIGCHLD: case SIGWINCH: + case SIGURG: continue;
case SIGTSTP: case SIGTTIN: case SIGTTOU: ====================================================
Or is the actual behavior correct?
Marco Cesati
+---------------------------------------------------------------+ | Computer Engineering - Project BRAVO | +---------------------------------------------------------------+ | University of Rome "Tor Vergata" | | Dept. of Computer Science, Systems and Industrial Engineering | | via di Tor Vergata, 00133 Rome (Italy) | | e-mail: bravo@russell.ce.uniroma2.it | +---------------------------------------------------------------+ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |