aboutsummaryrefslogtreecommitdiff
path: root/src/client/linux
diff options
context:
space:
mode:
authorLars Volker <lv@cloudera.com>2018-01-31 11:10:01 -0800
committerMike Frysinger <vapier@chromium.org>2018-01-31 20:09:18 +0000
commit242327485dc3f7652c17faf1b3082186700bd9fe (patch)
tree0fcda4053028982502bab3e0a55d974517c6d99f /src/client/linux
parentMake breakpad build with -Wimplicit-fallthrough (on linux) (diff)
downloadbreakpad-242327485dc3f7652c17faf1b3082186700bd9fe.tar.xz
Remove barrier to fix Android build.
The unittest for #752 made use of pthread_barrier_t, which is not supported on Android. This change replaces the barrier code with a simple sleep, which proved sufficient to trigger the race. It only affects the test and does not affect the original fix for #752. Change-Id: I82c32cf00899176fa09089e716ed85850b8711e6 Reviewed-on: https://chromium-review.googlesource.com/895168 Reviewed-by: Mike Frysinger <vapier@chromium.org>
Diffstat (limited to 'src/client/linux')
-rw-r--r--src/client/linux/handler/exception_handler_unittest.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/client/linux/handler/exception_handler_unittest.cc b/src/client/linux/handler/exception_handler_unittest.cc
index 50edb3b2..d05f3eb9 100644
--- a/src/client/linux/handler/exception_handler_unittest.cc
+++ b/src/client/linux/handler/exception_handler_unittest.cc
@@ -270,6 +270,7 @@ static void* CrashFunction(void* b_ptr) {
return NULL;
}
+#if !defined(__ANDROID_API__) || __ANDROID_API__ >= __ANDROID_API_N__
// Tests that concurrent crashes do not enter a loop by alternately triggering
// the signal handler.
TEST(ExceptionHandlerTest, ParallelChildCrashesDontHang) {
@@ -306,7 +307,7 @@ TEST(ExceptionHandlerTest, ParallelChildCrashesDontHang) {
}
// Wait a while until the child should have crashed.
- usleep(100000);
+ usleep(1000000);
// Kill the child if it is still running.
kill(child, SIGKILL);
@@ -315,6 +316,7 @@ TEST(ExceptionHandlerTest, ParallelChildCrashesDontHang) {
// SIGKILL.
ASSERT_NO_FATAL_FAILURE(WaitForProcessToTerminate(child, SIGSEGV));
}
+#endif
static bool DoneCallbackReturnFalse(const MinidumpDescriptor& descriptor,
void* context,