I was looking at this:

case SIGINT:
      is_serious_error = false;
      if (!_gst_non_interactive && in_interpreter)
    {
      _gst_set_signal_handler (sig, interrupt_handler);
      stop_executing ("userInterrupt");
      return;
    }
      break;

Isn't ^C an user interruption?
Yes, but the code that you patched it is not only run for SIGINT. It runs also for other signals, including SIGSEGV and SIGUSR1, for which we need the backtrace:
      if (is_serious_error || sig == SIGUSR1
           || (_gst_verbosity > 2 && (ip || _gst_gc_running))

Is important to show backtrace for SIGUSR1 anyway if verbosity is less than 3?

if (is_serious_error || (_gst_verbosity > 2 && (ip || _gst_gc_running))

SIGUSR1 is a quick'n'dirty way to show backtraces. It will not occur unless the user asks for it.

Paolo


_______________________________________________
help-smalltalk mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-smalltalk

Reply via email to