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

Side by Side Diff: skia/ports/SkThread_win.cpp

Issue 113827: Remove the remainder of the skia source code from the Chromium repo.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 7 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 | « skia/ports/SkThread_pthread.cpp ('k') | skia/ports/SkTime_Unix.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 /* libs/graphics/ports/SkThread_none.cpp
2 **
3 ** Copyright 2008, The Android Open Source Project
4 **
5 ** Licensed under the Apache License, Version 2.0 (the "License");
6 ** you may not use this file except in compliance with the License.
7 ** You may obtain a copy of the License at
8 **
9 ** http://www.apache.org/licenses/LICENSE-2.0
10 **
11 ** Unless required by applicable law or agreed to in writing, software
12 ** distributed under the License is distributed on an "AS IS" BASIS,
13 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 ** See the License for the specific language governing permissions and
15 ** limitations under the License.
16 */
17
18 #include <windows.h>
19 #include "SkThread.h"
20
21 namespace {
22
23 template <bool>
24 struct CompileAssert {
25 };
26
27 } // namespace
28
29 #define COMPILE_ASSERT(expr, msg) \
30 typedef CompileAssert<(bool(expr))> msg[bool(expr) ? 1 : -1]
31
32 int32_t sk_atomic_inc(int32_t* addr)
33 {
34 // InterlockedIncrement returns the new value, we want to return the old.
35 return InterlockedIncrement(reinterpret_cast<LONG*>(addr)) - 1;
36 }
37
38 int32_t sk_atomic_dec(int32_t* addr)
39 {
40 return InterlockedDecrement(reinterpret_cast<LONG*>(addr)) + 1;
41 }
42
43 SkMutex::SkMutex(bool /* isGlobal */)
44 {
45 COMPILE_ASSERT(sizeof(fStorage) > sizeof(CRITICAL_SECTION),
46 NotEnoughSizeForCriticalSection);
47 InitializeCriticalSection(reinterpret_cast<CRITICAL_SECTION*>(&fStorage));
48 }
49
50 SkMutex::~SkMutex()
51 {
52 DeleteCriticalSection(reinterpret_cast<CRITICAL_SECTION*>(&fStorage));
53 }
54
55 void SkMutex::acquire()
56 {
57 EnterCriticalSection(reinterpret_cast<CRITICAL_SECTION*>(&fStorage));
58 }
59
60 void SkMutex::release()
61 {
62 LeaveCriticalSection(reinterpret_cast<CRITICAL_SECTION*>(&fStorage));
63 }
64
OLDNEW
« no previous file with comments | « skia/ports/SkThread_pthread.cpp ('k') | skia/ports/SkTime_Unix.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698