OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 public: | 46 public: |
47 ThreadRestrictionVerifier() | 47 ThreadRestrictionVerifier() |
48 : m_shared(false) | 48 : m_shared(false) |
49 , m_owningThread(0) | 49 , m_owningThread(0) |
50 { | 50 { |
51 } | 51 } |
52 | 52 |
53 // Indicates that the object may (or may not) be owned by more than one plac
e. | 53 // Indicates that the object may (or may not) be owned by more than one plac
e. |
54 void setShared(bool shared) | 54 void setShared(bool shared) |
55 { | 55 { |
56 #if !ASSERT_DISABLED | 56 #if ASSERT_ENABLED |
57 bool previouslyShared = m_shared; | 57 bool previouslyShared = m_shared; |
58 #endif | 58 #endif |
59 m_shared = shared; | 59 m_shared = shared; |
60 | 60 |
61 if (!m_shared) | 61 if (!m_shared) |
62 return; | 62 return; |
63 | 63 |
64 ASSERT(shared != previouslyShared); | 64 ASSERT(shared != previouslyShared); |
65 // Capture the current thread to verify that subsequent ref/deref happen
on this thread. | 65 // Capture the current thread to verify that subsequent ref/deref happen
on this thread. |
66 m_owningThread = currentThread(); | 66 m_owningThread = currentThread(); |
(...skipping 12 matching lines...) Expand all Loading... |
79 bool m_shared; | 79 bool m_shared; |
80 | 80 |
81 // Used by SingleThreadVerificationMode | 81 // Used by SingleThreadVerificationMode |
82 ThreadIdentifier m_owningThread; | 82 ThreadIdentifier m_owningThread; |
83 }; | 83 }; |
84 | 84 |
85 } | 85 } |
86 | 86 |
87 #endif // !NDEBUG | 87 #endif // !NDEBUG |
88 #endif // ThreadRestrictionVerifier_h | 88 #endif // ThreadRestrictionVerifier_h |
OLD | NEW |