thread.h revision dd056d1ed5f111d091a3edba0a082b9673f3f73d
45e9809aff7304721fddb95654901b32195c9c7avboxsync * IPRT - Internal RTThread header.
45e9809aff7304721fddb95654901b32195c9c7avboxsync * Copyright (C) 2006-2007 Oracle Corporation
45e9809aff7304721fddb95654901b32195c9c7avboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
45e9809aff7304721fddb95654901b32195c9c7avboxsync * available from http://www.virtualbox.org. This file is free software;
45e9809aff7304721fddb95654901b32195c9c7avboxsync * you can redistribute it and/or modify it under the terms of the GNU
45e9809aff7304721fddb95654901b32195c9c7avboxsync * General Public License (GPL) as published by the Free Software
45e9809aff7304721fddb95654901b32195c9c7avboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
45e9809aff7304721fddb95654901b32195c9c7avboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
45e9809aff7304721fddb95654901b32195c9c7avboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
45e9809aff7304721fddb95654901b32195c9c7avboxsync * The contents of this file may alternatively be used under the terms
45e9809aff7304721fddb95654901b32195c9c7avboxsync * of the Common Development and Distribution License Version 1.0
45e9809aff7304721fddb95654901b32195c9c7avboxsync * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
45e9809aff7304721fddb95654901b32195c9c7avboxsync * VirtualBox OSE distribution, in which case the provisions of the
45e9809aff7304721fddb95654901b32195c9c7avboxsync * CDDL are applicable instead of those of the GPL.
45e9809aff7304721fddb95654901b32195c9c7avboxsync * You may elect to license modified versions of this file under the
45e9809aff7304721fddb95654901b32195c9c7avboxsync * terms and conditions of either the GPL or the CDDL or both.
45e9809aff7304721fddb95654901b32195c9c7avboxsync/** Max thread name length. */
45e9809aff7304721fddb95654901b32195c9c7avboxsync/** The number of TLS entries for the generic implementation. */
45e9809aff7304721fddb95654901b32195c9c7avboxsync * Internal representation of a thread.
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef struct RTTHREADINT
45e9809aff7304721fddb95654901b32195c9c7avboxsync /** Avl node core - the key is the native thread id. */
45e9809aff7304721fddb95654901b32195c9c7avboxsync /** Magic value (RTTHREADINT_MAGIC). */
45e9809aff7304721fddb95654901b32195c9c7avboxsync /** Reference counter. */
45e9809aff7304721fddb95654901b32195c9c7avboxsync /** The current thread state. */
45e9809aff7304721fddb95654901b32195c9c7avboxsync /** Set when really sleeping. */
45e9809aff7304721fddb95654901b32195c9c7avboxsync bool volatile fReallySleeping;
45e9809aff7304721fddb95654901b32195c9c7avboxsync /** The thread handle
unsigned fFlags;
int rc;
void *pvUser;
#ifdef IN_RING3
#ifdef RT_WITH_ICONV_CACHE
#ifdef IPRT_WITH_GENERIC_TLS
} RTTHREADINT;
#ifdef IN_RING3
# ifdef RT_OS_WINDOWS
/* thread.cpp */
DECLCALLBACK(DECLHIDDEN(int)) rtThreadMain(PRTTHREADINT pThread, RTNATIVETHREAD NativeThread, const char *pszThreadName);
#ifdef IN_RING3
#ifdef IPRT_WITH_GENERIC_TLS
#ifdef ___iprt_asm_h