From 86e387f3d29e0804c78eec41914e08b184c22a43 Mon Sep 17 00:00:00 2001 From: midipix Date: Fri, 13 Jul 2018 11:43:21 -0400 Subject: internals: slbt_spawn(): always record process creation and execution errors. --- src/internal/slibtool_spawn_impl.h | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/internal/slibtool_spawn_impl.h b/src/internal/slibtool_spawn_impl.h index e4efda1..da2e762 100644 --- a/src/internal/slibtool_spawn_impl.h +++ b/src/internal/slibtool_spawn_impl.h @@ -9,6 +9,7 @@ #include #include +#include #include #include #include @@ -57,13 +58,18 @@ static inline int slbt_spawn( #endif - if (pid < 0) + if (pid < 0) { + ectx->pid = pid; + ectx->exitcode = errno; return -1; + } - if (pid == 0) - return execvp( + if (pid == 0) { + execvp( ectx->program, ectx->argv); + _exit(errno); + } errno = 0; ectx->pid = pid; -- cgit v1.2.3