From c841c7ff11fc0f8422bfb0130a9590caddb0576b Mon Sep 17 00:00:00 2001 From: eidheim Date: Thu, 6 Aug 2015 19:44:06 +0200 Subject: [PATCH] Minor fix to terminal.cc. --- src/terminal.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/terminal.cc b/src/terminal.cc index 0c0d787..b6ba748 100644 --- a/src/terminal.cc +++ b/src/terminal.cc @@ -20,10 +20,10 @@ std::unordered_map async_execute_status; //TODO: Windows... //Coppied partially from http://www.linuxprogrammingblog.com/code-examples/sigaction void signal_execl_exit(int sig, siginfo_t *siginfo, void *context) { + async_and_sync_execute_mutex.lock(); int status; while (waitpid(siginfo->si_pid, &status, WNOHANG) > 0) {} - async_and_sync_execute_mutex.lock(); if(async_execute_descriptors.find(siginfo->si_pid)!=async_execute_descriptors.end()) { async_execute_status[siginfo->si_pid]=status; close(async_execute_descriptors.at(siginfo->si_pid).first);