diff options
Diffstat (limited to 'DebugUtils/GTMDebugThreadValidation.m')
-rw-r--r-- | DebugUtils/GTMDebugThreadValidation.m | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/DebugUtils/GTMDebugThreadValidation.m b/DebugUtils/GTMDebugThreadValidation.m new file mode 100644 index 0000000..5889cd8 --- /dev/null +++ b/DebugUtils/GTMDebugThreadValidation.m @@ -0,0 +1,38 @@ +// +// GTMDebugThreadValidation.m +// +// Copyright 2008 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may not +// use this file except in compliance with the License. You may obtain a copy +// of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations under +// the License. +// + + +#if DEBUG && MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_4 + +#import "GTMDebugThreadValidation.h" + +static NSThread *gGTMMainThread = nil; + +static __attribute__((constructor)) void _GTMInitThread(void) { + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + gGTMMainThread = [NSThread currentThread]; + [gGTMMainThread retain]; + [pool release]; +} + + +BOOL _GTMIsRunningOnMainThread(void) { + return [[NSThread currentThread] isEqual:gGTMMainThread]; +} + +#endif // DEBUG && MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_4 |