SkThreadPool: tweak two little things that have been annoying me
1) it's pretty annoying that SkThreadPool doesn't include SkRunnable for us;
2) add wait() so we don't have to keep using SkAutoTDelete/free() to wait for completion.
BUG=
R=scroggo@google.com, reed@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/26470005
git-svn-id: http://skia.googlecode.com/svn/trunk@11711 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/tests/skia_test.cpp b/tests/skia_test.cpp
index 620cdac..b8f80e0 100644
--- a/tests/skia_test.cpp
+++ b/tests/skia_test.cpp
@@ -8,7 +8,6 @@
#include "SkCommandLineFlags.h"
#include "SkGraphics.h"
#include "SkOSFile.h"
-#include "SkRunnable.h"
#include "SkTArray.h"
#include "SkTemplates.h"
#include "SkThreadPool.h"
@@ -229,7 +228,7 @@
int32_t failCount = 0;
int skipCount = 0;
- SkAutoTDelete<SkThreadPool> threadpool(SkNEW_ARGS(SkThreadPool, (FLAGS_threads)));
+ SkThreadPool threadpool(FLAGS_threads);
SkTArray<Test*> unsafeTests; // Always passes ownership to an SkTestRunnable
for (int i = 0; i < total; i++) {
SkAutoTDelete<Test> test(iter.next());
@@ -238,7 +237,7 @@
} else if (!test->isThreadsafe()) {
unsafeTests.push_back() = test.detach();
} else {
- threadpool->add(SkNEW_ARGS(SkTestRunnable, (test.detach(), &failCount)));
+ threadpool.add(SkNEW_ARGS(SkTestRunnable, (test.detach(), &failCount)));
}
}
@@ -247,8 +246,8 @@
SkNEW_ARGS(SkTestRunnable, (unsafeTests[i], &failCount))->run();
}
- // Blocks until threaded tests finish.
- threadpool.free();
+ // Block until threaded tests finish.
+ threadpool.wait();
SkDebugf("Finished %d tests, %d failures, %d skipped.\n",
toRun, failCount, skipCount);