Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(188)

Side by Side Diff: Source/wtf/ThreadingPrimitives.h

Issue 20300002: Fix trailing whitespace in .cpp, .h, and .idl files (ex. Source/core) (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/wtf/Threading.cpp ('k') | Source/wtf/ThreadingPthreads.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2007, 2008, 2010 Apple Inc. All rights reserved. 2 * Copyright (C) 2007, 2008, 2010 Apple Inc. All rights reserved.
3 * Copyright (C) 2007 Justin Haygood (jhaygood@reaktix.com) 3 * Copyright (C) 2007 Justin Haygood (jhaygood@reaktix.com)
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 8 *
9 * 1. Redistributions of source code must retain the above copyright 9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright 11 * 2. Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the 12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the distribution. 13 * documentation and/or other materials provided with the distribution.
14 * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of 14 * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
15 * its contributors may be used to endorse or promote products derived 15 * its contributors may be used to endorse or promote products derived
16 * from this software without specific prior written permission. 16 * from this software without specific prior written permission.
17 * 17 *
18 * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY 18 * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
19 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 19 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 20 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21 * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY 21 * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
22 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 22 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 23 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 24 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
25 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
(...skipping 26 matching lines...) Expand all
53 typedef pthread_mutex_t PlatformMutex; 53 typedef pthread_mutex_t PlatformMutex;
54 typedef pthread_cond_t PlatformCondition; 54 typedef pthread_cond_t PlatformCondition;
55 #elif OS(WINDOWS) 55 #elif OS(WINDOWS)
56 struct PlatformMutex { 56 struct PlatformMutex {
57 CRITICAL_SECTION m_internalMutex; 57 CRITICAL_SECTION m_internalMutex;
58 size_t m_recursionCount; 58 size_t m_recursionCount;
59 }; 59 };
60 struct PlatformCondition { 60 struct PlatformCondition {
61 size_t m_waitersGone; 61 size_t m_waitersGone;
62 size_t m_waitersBlocked; 62 size_t m_waitersBlocked;
63 size_t m_waitersToUnblock; 63 size_t m_waitersToUnblock;
64 HANDLE m_blockLock; 64 HANDLE m_blockLock;
65 HANDLE m_blockQueue; 65 HANDLE m_blockQueue;
66 HANDLE m_unblockLock; 66 HANDLE m_unblockLock;
67 67
68 bool timedWait(PlatformMutex&, DWORD durationMilliseconds); 68 bool timedWait(PlatformMutex&, DWORD durationMilliseconds);
69 void signal(bool unblockAll); 69 void signal(bool unblockAll);
70 }; 70 };
71 #else 71 #else
72 typedef void* PlatformMutex; 72 typedef void* PlatformMutex;
73 typedef void* PlatformCondition; 73 typedef void* PlatformCondition;
74 #endif 74 #endif
75 75
76 class WTF_EXPORT Mutex { 76 class WTF_EXPORT Mutex {
77 WTF_MAKE_NONCOPYABLE(Mutex); WTF_MAKE_FAST_ALLOCATED; 77 WTF_MAKE_NONCOPYABLE(Mutex); WTF_MAKE_FAST_ALLOCATED;
78 public: 78 public:
79 Mutex(); 79 Mutex();
80 ~Mutex(); 80 ~Mutex();
81 81
82 void lock(); 82 void lock();
83 bool tryLock(); 83 bool tryLock();
84 void unlock(); 84 void unlock();
85 85
(...skipping 20 matching lines...) Expand all
106 private: 106 private:
107 Mutex& m_mutex; 107 Mutex& m_mutex;
108 bool m_locked; 108 bool m_locked;
109 }; 109 };
110 110
111 class WTF_EXPORT ThreadCondition { 111 class WTF_EXPORT ThreadCondition {
112 WTF_MAKE_NONCOPYABLE(ThreadCondition); 112 WTF_MAKE_NONCOPYABLE(ThreadCondition);
113 public: 113 public:
114 ThreadCondition(); 114 ThreadCondition();
115 ~ThreadCondition(); 115 ~ThreadCondition();
116 116
117 void wait(Mutex&); 117 void wait(Mutex&);
118 // Returns true if the condition was signaled before absoluteTime, false if the absoluteTime was reached or is in the past. 118 // Returns true if the condition was signaled before absoluteTime, false if the absoluteTime was reached or is in the past.
119 // The absoluteTime is in seconds, starting on January 1, 1970. The time is assumed to use the same time zone as WTF::currentTime(). 119 // The absoluteTime is in seconds, starting on January 1, 1970. The time is assumed to use the same time zone as WTF::currentTime().
120 bool timedWait(Mutex&, double absoluteTime); 120 bool timedWait(Mutex&, double absoluteTime);
121 void signal(); 121 void signal();
122 void broadcast(); 122 void broadcast();
123 123
124 private: 124 private:
125 PlatformCondition m_condition; 125 PlatformCondition m_condition;
126 }; 126 };
127 127
128 #if OS(WINDOWS) 128 #if OS(WINDOWS)
129 // The absoluteTime is in seconds, starting on January 1, 1970. The time is assu med to use the same time zone as WTF::currentTime(). 129 // The absoluteTime is in seconds, starting on January 1, 1970. The time is assu med to use the same time zone as WTF::currentTime().
130 // Returns an interval in milliseconds suitable for passing to one of the Win32 wait functions (e.g., ::WaitForSingleObject). 130 // Returns an interval in milliseconds suitable for passing to one of the Win32 wait functions (e.g., ::WaitForSingleObject).
131 DWORD absoluteTimeToWaitTimeoutInterval(double absoluteTime); 131 DWORD absoluteTimeToWaitTimeoutInterval(double absoluteTime);
132 #endif 132 #endif
133 133
134 } // namespace WTF 134 } // namespace WTF
135 135
136 using WTF::Mutex; 136 using WTF::Mutex;
137 using WTF::MutexLocker; 137 using WTF::MutexLocker;
138 using WTF::MutexTryLocker; 138 using WTF::MutexTryLocker;
139 using WTF::ThreadCondition; 139 using WTF::ThreadCondition;
140 140
141 #if OS(WINDOWS) 141 #if OS(WINDOWS)
142 using WTF::absoluteTimeToWaitTimeoutInterval; 142 using WTF::absoluteTimeToWaitTimeoutInterval;
143 #endif 143 #endif
144 144
145 #endif // ThreadingPrimitives_h 145 #endif // ThreadingPrimitives_h
OLDNEW
« no previous file with comments | « Source/wtf/Threading.cpp ('k') | Source/wtf/ThreadingPthreads.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698