Adding a lock mechanism to crash_sender.
This is to avoid situations when crash_sender is already running
and while test crash reporting, we execute crash_sender manually.
BUG=None
TEST=Manually
Change-Id: I3beea8d503940d7a1af24c8f16eebb365d447434
Reviewed-on: https://gerrit.chromium.org/gerrit/65556
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Queue: Rohit Makasana <rohitbm@chromium.org>
Reviewed-by: Rohit Makasana <rohitbm@chromium.org>
Tested-by: Rohit Makasana <rohitbm@chromium.org>
diff --git a/crash_reporter/crash_sender b/crash_reporter/crash_sender
index 72205cf..0422ca2 100755
--- a/crash_reporter/crash_sender
+++ b/crash_reporter/crash_sender
@@ -18,6 +18,9 @@
# contents includes our machine's anonymized guid.
CONSENT_ID="/home/chronos/Consent To Send Stats"
+# Crash sender lock in case the sender is already running.
+CRASH_SENDER_LOCK="/var/lock/crash_sender"
+
# Path to file that indicates a crash test is currently running.
CRASH_TEST_IN_PROGRESS_FILE="/tmp/crash-test-in-progress"
@@ -569,4 +572,10 @@
done
}
+(
+if ! flock -n 9; then
+ lecho "crash_sender is already running; quitting."
+ exit 1
+fi
main
+) 9>"${CRASH_SENDER_LOCK}"