Index: base/threading/sequenced_worker_pool.h |
diff --git a/base/threading/sequenced_worker_pool.h b/base/threading/sequenced_worker_pool.h |
index 7e04b071428c838dfcec0faa647f82baf2932045..9e3dd5dac2e5af5dcb43c061a0543e0b1a3aa939 100644 |
--- a/base/threading/sequenced_worker_pool.h |
+++ b/base/threading/sequenced_worker_pool.h |
@@ -126,6 +126,11 @@ class BASE_EXPORT SequencedWorkerPool : public TaskRunner { |
return id_ == other.id_; |
} |
+ // Returns false if current thread is executing an unsequenced task. |
+ bool IsValid() const { |
+ return id_ != 0; |
+ } |
+ |
private: |
friend class SequencedWorkerPool; |
@@ -143,6 +148,11 @@ class BASE_EXPORT SequencedWorkerPool : public TaskRunner { |
virtual void OnDestruct() = 0; |
}; |
+ // Gets the SequencedToken of the current thread. |
+ // If current thread is not a SequencedWorkerPool worker thread or is running |
+ // an unsequenced task, returns an invalid SequenceToken. |
+ static SequenceToken GetSequenceTokenForCurrentThread(); |
+ |
// When constructing a SequencedWorkerPool, there must be a |
// MessageLoop on the current thread unless you plan to deliberately |
// leak it. |
@@ -159,7 +169,7 @@ class BASE_EXPORT SequencedWorkerPool : public TaskRunner { |
TestingObserver* observer); |
// Returns a unique token that can be used to sequence tasks posted to |
- // PostSequencedWorkerTask(). Valid tokens are alwys nonzero. |
+ // PostSequencedWorkerTask(). Valid tokens are always nonzero. |
SequenceToken GetSequenceToken(); |
// Returns the sequence token associated with the given name. Calling this |