diff options
author | Nat Goodspeed <nat@lindenlab.com> | 2021-10-08 12:00:21 -0400 |
---|---|---|
committer | Nat Goodspeed <nat@lindenlab.com> | 2021-10-08 12:00:21 -0400 |
commit | dc972623a9d4d03c726a36baaf840934c1ba6ed0 (patch) | |
tree | 240ad89352aada4cb9d5326bff8abee9e314a9d7 | |
parent | 23ac4bda3dc1f642b50cd7f21b11ed3285cf417f (diff) | |
parent | 54d874b1233586844f87e79ae8f211af0a1cb7a6 (diff) |
Merge branch 'SL-16024' into DRTVWR-546
-rw-r--r-- | indra/llcommon/workqueue.h | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/indra/llcommon/workqueue.h b/indra/llcommon/workqueue.h index a52f7b0e26..b88aef989a 100644 --- a/indra/llcommon/workqueue.h +++ b/indra/llcommon/workqueue.h @@ -104,9 +104,13 @@ namespace LL * Returns true if able to post, false if the other WorkQueue is * inaccessible. */ - template <typename CALLABLE, typename CALLBACK> - bool postTo(std::weak_ptr<WorkQueue> target, - const TimePoint& time, CALLABLE&& callable, CALLBACK&& callback) + // Apparently some Microsoft header file defines a macro CALLBACK? The + // natural template argument name CALLBACK produces very weird Visual + // Studio compile errors that seem utterly unrelated to this source + // code. + template <typename CALLABLE, typename FOLLOWUP> + bool postTo(WorkQueue::weak_t target, + const TimePoint& time, CALLABLE&& callable, FOLLOWUP&& callback) { // We're being asked to post to the WorkQueue at target. // target is a weak_ptr: have to lock it to check it. @@ -170,9 +174,9 @@ namespace LL * Returns true if able to post, false if the other WorkQueue is * inaccessible. */ - template <typename CALLABLE, typename CALLBACK> - bool postTo(std::weak_ptr<WorkQueue> target, - CALLABLE&& callable, CALLBACK&& callback) + template <typename CALLABLE, typename FOLLOWUP> + bool postTo(WorkQueue::weak_t target, + CALLABLE&& callable, FOLLOWUP&& callback) { return postTo(target, TimePoint::clock::now(), std::move(callable), std::move(callback)); } @@ -243,7 +247,7 @@ namespace LL { public: // bind the desired data - BackJack(std::weak_ptr<WorkQueue> target, + BackJack(WorkQueue::weak_t target, const WorkQueue::TimePoint& start, const std::chrono::duration<Rep, Period>& interval, CALLABLE&& callable): @@ -291,7 +295,7 @@ namespace LL } private: - std::weak_ptr<WorkQueue> mTarget; + WorkQueue::weak_t mTarget; WorkQueue::TimePoint mStart; std::chrono::duration<Rep, Period> mInterval; CALLABLE mCallable; |