Index: sandbox/linux/services/thread_helpers.h |
diff --git a/sandbox/linux/services/thread_helpers.h b/sandbox/linux/services/thread_helpers.h |
index 377742a539acd4abb169ca400c0dcfabc3a74c37..efc24589224e4989f2b1a4bc0cebc0ae4183c053 100644 |
--- a/sandbox/linux/services/thread_helpers.h |
+++ b/sandbox/linux/services/thread_helpers.h |
@@ -15,18 +15,26 @@ namespace sandbox { |
class SANDBOX_EXPORT ThreadHelpers { |
public: |
// Check whether the current process is single threaded. |proc_self_tasks| |
- // can be a file descriptor to /proc/self/task/ and remains owned by the |
- // caller or -1. |
- // If |proc_self_tasks| is -1, this method will open /proc/self/task/ and |
- // crash if it cannot. |
+ // must be a file descriptor to /proc/self/task/ and remains owned by the |
+ // caller. |
static bool IsSingleThreaded(int proc_self_task); |
+ static bool IsSingleThreaded(); |
+ |
+ // Crash if the current process is not single threaded. This will wait |
+ // on /proc to be updated. In the case where this doesn't crash, this will |
+ // return promptly. In the case where this does crash, this will first wait |
+ // for a few ms in Debug mode, a few seconds in Release mode. |
+ static void AssertSingleThreaded(int proc_self_task); |
+ static void AssertSingleThreaded(); |
// Stop |thread| and ensure that it does not have an entry in |
// /proc/self/task/ from the point of view of the current thread. This is |
// the way to stop threads before calling IsSingleThreaded(). |
- static bool StopThreadAndWatchProcFS(int proc_self_tasks, |
+ static bool StopThreadAndWatchProcFS(int proc_self_task, |
base::Thread* thread); |
+ static const char* GetAssertSingleThreadedErrorMessageForTests(); |
+ |
private: |
DISALLOW_IMPLICIT_CONSTRUCTORS(ThreadHelpers); |
}; |