Add a way to SuspendAll for a long duration
Hprof uses this mode to not cause thread suspend timeouts if GC tries
while the hprof dump is running.
Bug: 21063989
Change-Id: Ic6304620afd1489719a7e0e4299f829c90fe27cc
diff --git a/runtime/hprof/hprof.cc b/runtime/hprof/hprof.cc
index 88a72ec..917fe43 100644
--- a/runtime/hprof/hprof.cc
+++ b/runtime/hprof/hprof.cc
@@ -1214,7 +1214,7 @@
// comment in Heap::VisitObjects().
heap->IncrementDisableMovingGC(self);
}
- Runtime::Current()->GetThreadList()->SuspendAll(__FUNCTION__);
+ Runtime::Current()->GetThreadList()->SuspendAll(__FUNCTION__, true /* long suspend */);
Hprof hprof(filename, fd, direct_to_ddms);
hprof.Dump();
Runtime::Current()->GetThreadList()->ResumeAll();