diff options
author | Remi Collet <remi@remirepo.net> | 2023-08-22 12:48:48 +0200 |
---|---|---|
committer | Remi Collet <remi@php.net> | 2023-08-22 12:48:48 +0200 |
commit | 376aaac49c32861178bffba63854799a0172255a (patch) | |
tree | 68f11738cdec5851f8157c6fd29bd8ab78c400ba /BZ-2056462-do-not-error-out-on-SIGINT.patch | |
parent | 8dc7f007168c1e4580115dd94c8dcb36d215fed5 (diff) |
add patch for RPM 4.19
to workaround https://bugzilla.redhat.com/2233454
Diffstat (limited to 'BZ-2056462-do-not-error-out-on-SIGINT.patch')
-rw-r--r-- | BZ-2056462-do-not-error-out-on-SIGINT.patch | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/BZ-2056462-do-not-error-out-on-SIGINT.patch b/BZ-2056462-do-not-error-out-on-SIGINT.patch new file mode 100644 index 0000000..3a076eb --- /dev/null +++ b/BZ-2056462-do-not-error-out-on-SIGINT.patch @@ -0,0 +1,61 @@ +From 9147d3b66e0a263c2eb427b7892b34c925363854 Mon Sep 17 00:00:00 2001 +From: Michal Domonkos <mdomonko@redhat.com> +Date: Thu, 17 Feb 2022 17:36:00 +0100 +Subject: [PATCH] Don't error out when command receives SIGINT + +Interrupting a running command isn't really an execution problem so +don't print an error or return a non-zero exit status. + +This is also how it worked in versions older than 2.0. + +Resolves: rhbz#1967686 +--- + src/fallback.c | 3 +++ + src/scllib.c | 3 +++ + 2 files changed, 6 insertions(+) + +diff --git a/src/fallback.c b/src/fallback.c +index 4b9c8fd..c907a34 100644 +--- a/src/fallback.c ++++ b/src/fallback.c +@@ -6,6 +6,7 @@ + #include <errno.h> + #include <sys/stat.h> + #include <dirent.h> ++#include <signal.h> + + #include "scllib.h" + #include "sclmalloc.h" +@@ -229,6 +230,8 @@ scl_rc fallback_run_command(char * const colnames[], const char *cmd, bool exec) + xasprintf(&bash_cmd, "/bin/bash %s", tmp); + status = system(bash_cmd); + if (status == -1 || !WIFEXITED(status)) { ++ if (WIFSIGNALED(status) && WTERMSIG(status) == SIGINT) ++ goto exit; + debug("Problem with executing command \"%s\"\n", bash_cmd); + ret = ERUN; + goto exit; +diff --git a/src/scllib.c b/src/scllib.c +index a182194..2ba8df8 100644 +--- a/src/scllib.c ++++ b/src/scllib.c +@@ -11,6 +11,7 @@ + #include <rpm/rpmcli.h> + #include <errno.h> + #include <wordexp.h> ++#include <signal.h> + + #include "config.h" + #include "errors.h" +@@ -341,6 +342,8 @@ scl_rc run_command(char * const colnames[], const char *cmd, bool exec) + + status = system(cmd); + if (status == -1 || !WIFEXITED(status)) { ++ if (WIFSIGNALED(status) && WTERMSIG(status) == SIGINT) ++ goto exit; + debug("Problem with executing program \"%s\"\n", cmd); + ret = ERUN; + goto exit; +-- +2.35.1 + |