The logpipe fifo can remain when exiting on a non-error condition such
as recieving signals INT and USR1.  This can be seen by doing either a
manual CTRL-C to interrupt the build or by sending a signal such as:

$ makepkg & sleep 5 ; kill -USR1 $!

Remove the fifo in all cases on script exit if it still exists.

(Revises previously submitted patch)

Signed-off-by: Austin Lund <[email protected]>
---
 scripts/makepkg.sh.in | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 43484db3..fac268a8 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -129,6 +129,10 @@ clean_up() {
                return 0
        fi
 
+       if [[ -p $logpipe ]]; then
+               rm "$logpipe"
+       fi
+
        if (( (EXIT_CODE == E_OK || EXIT_CODE == E_INSTALL_FAILED) && CLEANUP 
)); then
                local pkg file
 
@@ -343,9 +347,6 @@ remove_deps() {
 }
 
 error_function() {
-       if [[ -p $logpipe ]]; then
-               rm "$logpipe"
-       fi
        # first exit all subshells, then print the error
        if (( ! BASH_SUBSHELL )); then
                error "$(gettext "A failure occurred in %s().")" "$1"
-- 
2.23.0

Reply via email to