# HG changeset patch # User John W. Eaton # Date 1524057666 14400 # Node ID 692fbde19871c2cc815d7cc7e0581770fede143c # Parent 4adeabc1bbfe5438c3adda10657ce0ca89879c4b restore ability to interrupt subprocesses on Unixy systems (bug #53635) * terminal-dock-widget.cc (terminal_dock_widget::terminal_interrupt): Also send SIGINT to all processes in our process group. diff -r 4adeabc1bbfe -r 692fbde19871 libgui/src/terminal-dock-widget.cc --- a/libgui/src/terminal-dock-widget.cc Tue Apr 17 21:40:31 2018 -0400 +++ b/libgui/src/terminal-dock-widget.cc Wed Apr 18 09:21:06 2018 -0400 @@ -27,12 +27,14 @@ #include +#include "quit.h" +#include "signal-wrappers.h" + +#include "sighandlers.h" + #include "terminal-dock-widget.h" #include "resource-manager.h" -#include "sighandlers.h" -#include "quit.h" - namespace octave { terminal_dock_widget::terminal_dock_widget (QWidget *p) @@ -110,5 +112,13 @@ octave_signal_caught = 1; octave_interrupt_state++; + + // Send SIGINT to all other processes in our process group. + // This is needed to interrupt calls to system (), for example. + + int sigint; + octave_get_sig_number ("SIGINT", &sigint); + + octave_kill_wrapper (0, sigint); } }