DM: add keepalive for Valgrind bot.
authormtklein <mtklein@chromium.org>
Thu, 12 Mar 2015 13:28:54 +0000 (06:28 -0700)
committerCommit bot <commit-bot@chromium.org>
Thu, 12 Mar 2015 13:28:54 +0000 (06:28 -0700)
BUG=skia:

Review URL: https://codereview.chromium.org/998263003

dm/DM.cpp

index 9f3dbab..9739210 100644 (file)
--- a/dm/DM.cpp
+++ b/dm/DM.cpp
@@ -14,6 +14,7 @@
 #include "SkOSFile.h"
 #include "SkTHash.h"
 #include "SkTaskGroup.h"
+#include "SkThreadUtils.h"
 #include "Test.h"
 #include "Timer.h"
 
@@ -515,6 +516,20 @@ static void run_enclave_and_gpu_tests(SkTArray<Task>* tasks) {
     }
 }
 
+// Some runs (mostly, Valgrind) are so slow that the bot framework thinks we've hung.
+// This prints something every once in a while so that it knows we're still working.
+static void keep_alive(void*) {
+    for (;;) {
+        static const int kSec = 300;
+#if defined(SK_BUILD_FOR_WIN)
+        Sleep(kSec * 1000);
+#else
+        sleep(kSec);
+#endif
+        SkDebugf("\nStill alive: doing science, reticulating splines...\n");
+    }
+}
+
 int dm_main();
 int dm_main() {
     SetupCrashHandler();
@@ -524,6 +539,9 @@ int dm_main() {
         SkInstCountPrintLeaksOnExit();
     }
 
+    SkThread keepAlive(keep_alive);  // This thread will just be killed by processes shutdown.
+    keepAlive.start();
+
     gather_gold();
 
     gather_srcs();