diff options
author | Anchor <none@none> | 2019-03-05 21:25:24 -0800 |
---|---|---|
committer | Anchor <none@none> | 2019-03-05 21:25:24 -0800 |
commit | 2cd1a22587b26e7b034e3100ebf46f244d576bff (patch) | |
tree | 16435bc171f03102980faa810ed3fa5180b06475 /indra/llcommon/llcoros.h | |
parent | 1b449fa055ea6c85b464bc799f196e0ab3b7026e (diff) | |
parent | 03db2ddc9c27cf842c6185826617b0da0d2b87f5 (diff) |
Merge
Diffstat (limited to 'indra/llcommon/llcoros.h')
-rw-r--r-- | indra/llcommon/llcoros.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/indra/llcommon/llcoros.h b/indra/llcommon/llcoros.h index 8fb27af6a4..c551413811 100644 --- a/indra/llcommon/llcoros.h +++ b/indra/llcommon/llcoros.h @@ -170,6 +170,26 @@ public: static bool get_consuming(); /** + * RAII control of the consuming flag + */ + class OverrideConsuming + { + public: + OverrideConsuming(bool consuming): + mPrevConsuming(get_consuming()) + { + set_consuming(consuming); + } + ~OverrideConsuming() + { + set_consuming(mPrevConsuming); + } + + private: + bool mPrevConsuming; + }; + + /** * Please do NOT directly use boost::dcoroutines::future! It is essential * to maintain the "current" coroutine at every context switch. This * Future wraps the essential boost::dcoroutines::future functionality |