]> git.saurik.com Git - apple/javascriptcore.git/blame - wtf/chromium/MainThreadChromium.cpp
JavaScriptCore-721.26.tar.gz
[apple/javascriptcore.git] / wtf / chromium / MainThreadChromium.cpp
CommitLineData
ba379fdc
A
1/*
2* Copyright (C) 2009 Google Inc. All rights reserved.
3*
4* Redistribution and use in source and binary forms, with or without
5* modification, are permitted provided that the following conditions are
6* met:
7*
8* * Redistributions of source code must retain the above copyright
9* notice, this list of conditions and the following disclaimer.
10* * Redistributions in binary form must reproduce the above
11* copyright notice, this list of conditions and the following disclaimer
12* in the documentation and/or other materials provided with the
13* distribution.
14* * Neither the name of Google Inc. nor the names of its
15* contributors may be used to endorse or promote products derived from
16* this software without specific prior written permission.
17*
18* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29*/
30
31#include "config.h"
32#include "MainThread.h"
33
4e4e5a6f 34#include "Assertions.h"
ba379fdc 35#include "ChromiumThreading.h"
4e4e5a6f 36#include "Threading.h"
ba379fdc
A
37
38namespace WTF {
39
4e4e5a6f
A
40static ThreadIdentifier mainThreadIdentifier;
41
42void initializeMainThread()
43{
44 static bool initializedMainThread;
45 if (initializedMainThread)
46 return;
47 initializedMainThread = true;
48
49 mainThreadIdentifier = currentThread();
50}
51
52void callOnMainThread(MainThreadFunction* function, void* context)
53{
54 ChromiumThreading::callOnMainThread(function, context);
55}
56
57void callOnMainThreadAndWait(MainThreadFunction*, void*)
58{
59 ASSERT_NOT_REACHED();
60}
61
62void setMainThreadCallbacksPaused(bool)
ba379fdc 63{
4e4e5a6f 64 ASSERT_NOT_REACHED();
ba379fdc
A
65}
66
4e4e5a6f 67bool isMainThread()
ba379fdc 68{
4e4e5a6f 69 return currentThread() == mainThreadIdentifier;
ba379fdc
A
70}
71
72} // namespace WTF
73