From: Joshua Watt <jpewhacker@gmail.com>
To: openembedded-core@lists.openembedded.org
Subject: [sumo][PATCH 6/7] icecc.bbclass: Improve error reporting
Date: Tue, 10 Apr 2018 21:21:59 -0500 [thread overview]
Message-ID: <20180411022200.22277-7-JPEWhacker@gmail.com> (raw)
In-Reply-To: <20180411022200.22277-1-JPEWhacker@gmail.com>
Improve reporting when the icecream environment cannot be created by
assigning the flock call a specific error number when the lock fails so
it can be distinguished from environment creation errors.
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
---
meta/classes/icecc.bbclass | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/meta/classes/icecc.bbclass b/meta/classes/icecc.bbclass
index aea1095f5fb..1b58d1f5e52 100644
--- a/meta/classes/icecc.bbclass
+++ b/meta/classes/icecc.bbclass
@@ -366,14 +366,20 @@ set_icecc_env() {
# the ICECC_VERSION generation step must be locked by a mutex
# in order to prevent race conditions
- if flock -n "${ICECC_VERSION}.lock" \
- ${ICECC_ENV_EXEC} ${ICECC_ENV_DEBUG} "${ICECC_CC}" "${ICECC_CXX}" "${ICECC_AS}" "${ICECC_VERSION}"
- then
+ exit_code=0
+ flock -n -E 10 "${ICECC_VERSION}.lock" \
+ ${ICECC_ENV_EXEC} ${ICECC_ENV_DEBUG} "${ICECC_CC}" "${ICECC_CXX}" "${ICECC_AS}" "${ICECC_VERSION}" || exit_code=$?
+ if [ "$exit_code" -eq 0 ]; then
+ touch "${ICECC_VERSION}.done"
+ elif [ "$exit_code" -eq "10" ]; then
+ if [ ! wait_for_file "${ICECC_VERSION}.done" 30 ]; then
+ # locking failed so wait for ${ICECC_VERSION}.done to appear
+ bbwarn "Timeout waiting for ${ICECC_VERSION}.done"
+ return
+ fi
+ else
+ bbwarn "Could not create icecc environment: $exit_code"
touch "${ICECC_VERSION}.done"
- elif [ ! wait_for_file "${ICECC_VERSION}.done" 30 ]
- then
- # locking failed so wait for ${ICECC_VERSION}.done to appear
- bbwarn "Timeout waiting for ${ICECC_VERSION}.done"
return
fi
fi
--
2.14.3
next prev parent reply other threads:[~2018-04-11 2:22 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-11 2:21 [sumo][PATCH 0/7] Icecream fixes Joshua Watt
2018-04-11 2:21 ` [sumo][PATCH 1/7] icecc-create-env: Allow logging to a file Joshua Watt
2018-04-11 2:21 ` [sumo][PATCH 2/7] icecc-create-env: Fix RUNPATH files Joshua Watt
2018-04-11 2:21 ` [sumo][PATCH 3/7] icecc-create-env: Fix library interpreter usage Joshua Watt
2018-04-11 2:21 ` [sumo][PATCH 4/7] icecc-create-env: Add extra tools option Joshua Watt
2018-04-11 2:21 ` [sumo][PATCH 5/7] icecc.bbclass: Add ICECC_ENV_DEBUG variable Joshua Watt
2018-04-11 2:21 ` Joshua Watt [this message]
2018-04-11 2:22 ` [sumo][PATCH 7/7] icecc.bbclass: Bump version number Joshua Watt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180411022200.22277-7-JPEWhacker@gmail.com \
--to=jpewhacker@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.