If the child zip-process fails, throw an IOException, like with all the other errors.
Project: http://git-wip-us.apache.org/repos/asf/logging-log4cxx/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4cxx/commit/ef4a25f4 Tree: http://git-wip-us.apache.org/repos/asf/logging-log4cxx/tree/ef4a25f4 Diff: http://git-wip-us.apache.org/repos/asf/logging-log4cxx/diff/ef4a25f4 Branch: refs/heads/master Commit: ef4a25f4b92bac5432d781993cca9a015055ca8a Parents: b05ebb7 Author: Thorsten Schöning <[email protected]> Authored: Fri Jul 8 06:27:32 2016 +0000 Committer: Thorsten Schöning <[email protected]> Committed: Fri Jul 8 06:27:32 2016 +0000 ---------------------------------------------------------------------- src/main/cpp/zipcompressaction.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4cxx/blob/ef4a25f4/src/main/cpp/zipcompressaction.cpp ---------------------------------------------------------------------- diff --git a/src/main/cpp/zipcompressaction.cpp b/src/main/cpp/zipcompressaction.cpp index 90f6333..a67d8ec 100644 --- a/src/main/cpp/zipcompressaction.cpp +++ b/src/main/cpp/zipcompressaction.cpp @@ -81,7 +81,9 @@ bool ZipCompressAction::execute(log4cxx::helpers::Pool& p) const stat = apr_proc_create(&pid, "zip", args, NULL, attr, aprpool); if (stat != APR_SUCCESS) throw IOException(stat); - apr_proc_wait(&pid, NULL, NULL, APR_WAIT); + int exitCode; + apr_proc_wait(&pid, &exitCode, NULL, APR_WAIT); + if (exitCode != APR_SUCCESS) throw IOException(exitCode); if (deleteSource) {
