NAME

ACE_TSS_Keys - Collection of in-use flags for a thread's TSS keys. For internal use only by ACE_TSS_Cleanup; it is public because some compilers can't use nested classes for template instantiation parameters.

SYNOPSIS

#include <ace/OS.h>

class ACE_TSS_Keys { public: ACE_TSS_Keys (void); int test_and_set (const ACE_thread_key_t key); int test_and_clear (const ACE_thread_key_t key); private: static void find (const u_int key, u_int &word, u_int &bit); enum{ # if ACE_SIZEOF_LONG == 8 ACE_BITS_PER_WORD = 64, # elif ACE_SIZEOF_LONG == 4 ACE_BITS_PER_WORD = 32, # else # error ACE_TSS_Keys only supports 32 or 64 bit longs. # endif ACE_WORDS = ( ACE_DEFAULT_THREAD_KEYS - 1) / ACE_BITS_PER_WORD + 1 }; u_long key_bit_words_[ACE_WORDS]; };

DESCRIPTION

Wrapper around array of whether each key is in use. A simple typedef doesn't work with Sun C++ 4.2.

PUBLIC MEMBERS

ACE_TSS_Keys (void);

int test_and_set (const ACE_thread_key_t key);

int test_and_clear (const ACE_thread_key_t key);

PRIVATE MEMBERS

static void find (const u_int key, u_int &word, u_int &bit);

u_long key_bit_words_[ACE_WORDS];

AUTHOR

Doug Schmidt schmidt@cs.wustl.edu, Jesper S. M|ller stophph@diku.dk, and a cast of thousands...

The ACE_Sched_Priority type should be used for platform-

independent thread and process priorities, by convention. int should be used for OS-specific priorities.

typedef for the _stat data structure

Giving unique ACE scoped names for some important

RTSignal-Related constants. Becuase sometimes, different platforms use different names for these constants.

LIBRARY

ace