Fixes FS#36618.

Signed-off-by: Dave Reisner <[email protected]>
---
v2: Use strsignal to explain the signal in addition to reporting the value.

 lib/libalpm/util.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c
index f1f760a..19a8612 100644
--- a/lib/libalpm/util.c
+++ b/lib/libalpm/util.c
@@ -599,6 +599,15 @@ int _alpm_run_chroot(alpm_handle_t *handle, const char 
*cmd, char *const argv[])
                                _alpm_log(handle, ALPM_LOG_ERROR, _("command 
failed to execute correctly\n"));
                                retval = 1;
                        }
+               } else if(WIFSIGNALED(status) != 0) {
+                       char *signal_description = strsignal(WTERMSIG(status));
+                       /* strsignal can return NULL on some (non-Linux) 
platforms */
+                       if(signal_description == NULL) {
+                               signal_description = _("Unknown signal");
+                       }
+                       _alpm_log(handle, ALPM_LOG_ERROR, _("command terminated 
by signal %d: %s\n"),
+                                               WTERMSIG(status), 
signal_description);
+                       retval = 1;
                }
        }
 
-- 
1.8.3.4


Reply via email to