Index: dm/DM.cpp |
diff --git a/dm/DM.cpp b/dm/DM.cpp |
index 9739210bc2e4eb3584a4f08ede0e3506a6130230..2734b7589abe37c5b8a144a92cd7699a3e5185b1 100644 |
--- a/dm/DM.cpp |
+++ b/dm/DM.cpp |
@@ -518,16 +518,22 @@ 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"); |
- } |
+static void start_keepalive() { |
+ struct Loop { |
+ static void forever(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"); |
+ } |
+ } |
+ }; |
+ static SkThread* intentionallyLeaked = new SkThread(Loop::forever); |
+ intentionallyLeaked->start(); |
} |
int dm_main(); |
@@ -539,8 +545,7 @@ int dm_main() { |
SkInstCountPrintLeaksOnExit(); |
} |
- SkThread keepAlive(keep_alive); // This thread will just be killed by processes shutdown. |
- keepAlive.start(); |
+ start_keepalive(); |
gather_gold(); |