Check suspended coros for JobQueue stop condition

This commit is contained in:
Vinnie Falco
2016-02-26 15:07:46 -05:00
parent 73df97f2d0
commit 94a47569d6
3 changed files with 19 additions and 2 deletions

View File

@@ -36,6 +36,8 @@ namespace ripple {
class Logs;
/** A pool of threads to perform work.
*/
class JobQueue
: public beast::Stoppable
, private beast::Workers::Callback
@@ -101,6 +103,8 @@ public:
rendezvous();
private:
friend class JobCoro;
using JobDataMap = std::map <JobType, JobTypeData>;
beast::Journal m_journal;
@@ -113,6 +117,9 @@ private:
// The number of jobs currently in processTask()
int m_processCount;
// The number of suspended coroutines
int nSuspend_ = 0;
beast::Workers m_workers;
Job::CancelCallback m_cancelCallback;