From: Andrea Corallo Date: Thu, 2 Jan 2020 21:14:25 +0000 (+0100) Subject: Do not block sw interrupts in batch mode (don't ignore C-c) X-Git-Tag: emacs-28.0.90~2727^2~852 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=3039c55642fbb2feb577e057ee167c2cedc12feb;p=emacs.git Do not block sw interrupts in batch mode (don't ignore C-c) --- diff --git a/src/comp.c b/src/comp.c index c25b3245ca3..bb8b952cf52 100644 --- a/src/comp.c +++ b/src/comp.c @@ -3110,16 +3110,19 @@ DEFUN ("comp--compile-ctxt-to-file", Fcomp__compile_ctxt_to_file, gcc_jit_context_set_int_option (comp.ctxt, GCC_JIT_INT_OPTION_OPTIMIZATION_LEVEL, SPEED); - /* Gcc doesn't like being interrupted at all. */ - block_input (); sigset_t oldset; - sigset_t blocked; - sigemptyset (&blocked); - sigaddset (&blocked, SIGALRM); - sigaddset (&blocked, SIGINT); - sigaddset (&blocked, SIGIO); - pthread_sigmask (SIG_BLOCK, &blocked, &oldset); + if (!noninteractive) + { + sigset_t blocked; + /* Gcc doesn't like being interrupted at all. */ + block_input (); + sigemptyset (&blocked); + sigaddset (&blocked, SIGALRM); + sigaddset (&blocked, SIGINT); + sigaddset (&blocked, SIGIO); + pthread_sigmask (SIG_BLOCK, &blocked, &oldset); + } emit_ctxt_code (); /* Define inline functions. */ @@ -3164,8 +3167,11 @@ DEFUN ("comp--compile-ctxt-to-file", Fcomp__compile_ctxt_to_file, Fdelete_file (out_file, Qnil); Frename_file (tmp_file, out_file, Qnil); - pthread_sigmask (SIG_SETMASK, &oldset, 0); - unblock_input (); + if (!noninteractive) + { + pthread_sigmask (SIG_SETMASK, &oldset, 0); + unblock_input (); + } return out_file; }