[libdispatch-changes] [66] trunk/src/shims/tsd.h

source_changes at macosforge.org source_changes at macosforge.org
Wed Oct 28 03:46:55 PDT 2009


Revision: 66
          http://trac.macosforge.org/projects/libdispatch/changeset/66
Author:   robert at fledge.watson.org
Date:     2009-10-28 03:46:52 -0700 (Wed, 28 Oct 2009)
Log Message:
-----------
Remove second copy of tsd.h contents, conveniently masked by header guards,
and resulting from a curious merge incident.

Modified Paths:
--------------
    trunk/src/shims/tsd.h

Modified: trunk/src/shims/tsd.h
===================================================================
--- trunk/src/shims/tsd.h	2009-10-28 09:22:19 UTC (rev 65)
+++ trunk/src/shims/tsd.h	2009-10-28 10:46:52 UTC (rev 66)
@@ -118,123 +118,3 @@
 #define _dispatch_thread_self pthread_self
 
 #endif
-/*
- * Copyright (c) 2008-2009 Apple Inc. All rights reserved.
- *
- * @APPLE_APACHE_LICENSE_HEADER_START@
- * 
- * 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.
- * 
- * @APPLE_APACHE_LICENSE_HEADER_END@
- */
-
-/*
- * IMPORTANT: This header file describes INTERNAL interfaces to libdispatch
- * which are subject to change in future releases of Mac OS X. Any applications
- * relying on these interfaces WILL break.
- */
-
-#ifndef __DISPATCH_SHIMS_TSD__
-#define __DISPATCH_SHIMS_TSD__
-
-#ifdef HAVE_PTHREAD_KEY_INIT_NP
-static const unsigned long dispatch_queue_key = __PTK_LIBDISPATCH_KEY0;
-static const unsigned long dispatch_sema4_key = __PTK_LIBDISPATCH_KEY1;
-static const unsigned long dispatch_cache_key = __PTK_LIBDISPATCH_KEY2;
-static const unsigned long dispatch_bcounter_key = __PTK_LIBDISPATCH_KEY3;
-//__PTK_LIBDISPATCH_KEY4
-//__PTK_LIBDISPATCH_KEY5
-#else
-pthread_key_t dispatch_queue_key;
-pthread_key_t dispatch_sema4_key;
-pthread_key_t dispatch_cache_key;
-pthread_key_t dispatch_bcounter_key;
-#endif
-
-#ifdef USE_APPLE_TSD_OPTIMIZATIONS
-#define SIMULATE_5491082 1
-#ifndef _PTHREAD_TSD_OFFSET
-#define _PTHREAD_TSD_OFFSET 0
-#endif
-
-static inline void
-_dispatch_thread_setspecific(unsigned long k, void *v)
-{
-#if defined(SIMULATE_5491082) && defined(__i386__)
-	asm("movl %1, %%gs:%0" : "=m" (*(void **)(k * sizeof(void *) + _PTHREAD_TSD_OFFSET)) : "ri" (v) : "memory");
-#elif defined(SIMULATE_5491082) && defined(__x86_64__)
-	asm("movq %1, %%gs:%0" : "=m" (*(void **)(k * sizeof(void *) + _PTHREAD_TSD_OFFSET)) : "rn" (v) : "memory");
-#else
-	int res;
-	if (_pthread_has_direct_tsd()) {
-		res = _pthread_setspecific_direct(k, v);
-	} else {
-		res = pthread_setspecific(k, v);
-	}
-	dispatch_assert_zero(res);
-#endif
-}
-
-static inline void *
-_dispatch_thread_getspecific(unsigned long k)
-{
-#if defined(SIMULATE_5491082) && (defined(__i386__) || defined(__x86_64__))
-	void *rval;
-	asm("mov %%gs:%1, %0" : "=r" (rval) : "m" (*(void **)(k * sizeof(void *) + _PTHREAD_TSD_OFFSET)));
-	return rval;
-#else
-	if (_pthread_has_direct_tsd()) {
-		return _pthread_getspecific_direct(k);
-	} else {
-		return pthread_getspecific(k);
-	}
-#endif
-}
-
-#else /* !USE_APPLE_TSD_OPTIMIZATIONS */
-
-static inline void
-_dispatch_thread_setspecific(pthread_key_t k, void *v)
-{
-	int res;
-
-	res = pthread_setspecific(k, v);
-	dispatch_assert_zero(res);
-}
-
-static inline void *
-_dispatch_thread_getspecific(pthread_key_t k)
-{
-
-	return pthread_getspecific(k);
-}
-#endif /* USE_APPLE_TSD_OPTIMIZATIONS */
-
-#ifdef HAVE_PTHREAD_KEY_INIT_NP
-static inline void
-_dispatch_thread_key_init_np(unsigned long k, void (*d)(void *))
-{
-	dispatch_assert_zero(pthread_key_init_np((int)k, d));
-}
-#else
-static inline void
-_dispatch_thread_key_create(pthread_key_t *key, void (*destructor)(void *))
-{
-
-	dispatch_assert_zero(pthread_key_create(key, destructor));
-}
-#endif
-
-#define _dispatch_thread_self pthread_self
-
-#endif
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/libdispatch-changes/attachments/20091028/a8e32cc7/attachment-0001.html>


More information about the libdispatch-changes mailing list