From ab89fbdcf66071770064114a1c567e15dd04ff05 Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Wed, 27 Feb 2013 15:52:33 -0800 Subject: [PATCH] Use the job queue rather than an ephemeral thread for validation writeouts. --- src/cpp/ripple/ValidationCollection.cpp | 5 ++--- src/cpp/ripple/ValidationCollection.h | 3 ++- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/cpp/ripple/ValidationCollection.cpp b/src/cpp/ripple/ValidationCollection.cpp index 5fff5a120..cfdec56cd 100644 --- a/src/cpp/ripple/ValidationCollection.cpp +++ b/src/cpp/ripple/ValidationCollection.cpp @@ -293,11 +293,10 @@ void ValidationCollection::condWrite() if (mWriting) return; mWriting = true; - boost::thread thread(boost::bind(&ValidationCollection::doWrite, this)); - thread.detach(); + theApp->getJobQueue().addJob(jtWRITE, boost::bind(&ValidationCollection::doWrite, this, _1)); } -void ValidationCollection::doWrite() +void ValidationCollection::doWrite(Job&) { LoadEvent::autoptr event(theApp->getJobQueue().getLoadEventAP(jtDISK)); static boost::format insVal("INSERT INTO Validations " diff --git a/src/cpp/ripple/ValidationCollection.h b/src/cpp/ripple/ValidationCollection.h index e6973886d..648ea173c 100644 --- a/src/cpp/ripple/ValidationCollection.h +++ b/src/cpp/ripple/ValidationCollection.h @@ -10,6 +10,7 @@ #include "types.h" #include "SerializedValidation.h" #include "TaggedCache.h" +#include "JobQueue.h" typedef boost::unordered_map ValidationSet; @@ -26,7 +27,7 @@ protected: bool mWriting; - void doWrite(); + void doWrite(Job&); void condWrite(); boost::shared_ptr findCreateSet(const uint256& ledgerHash);