From 242327485dc3f7652c17faf1b3082186700bd9fe Mon Sep 17 00:00:00 2001 From: Lars Volker Date: Wed, 31 Jan 2018 11:10:01 -0800 Subject: [PATCH] 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 --- src/client/linux/handler/exception_handler_unittest.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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,