(file) Return to CMPI_ThreadContext.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / ProviderManager2 / CMPI

Diff for /pegasus/src/Pegasus/ProviderManager2/CMPI/CMPI_ThreadContext.cpp between version 1.10 and 1.10.14.1

version 1.10, 2006/01/30 16:18:05 version 1.10.14.1, 2006/07/27 23:12:06
Line 48 
Line 48 
 PEGASUS_USING_STD; PEGASUS_USING_STD;
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
 PEGASUS_THREAD_KEY_TYPE CMPI_ThreadContext::contextKey;  TSDKeyType CMPI_ThreadContext::contextKey;
 int CMPI_ThreadContext::context_key_once=1; int CMPI_ThreadContext::context_key_once=1;
  
 void CMPI_ThreadContext::context_key_alloc() void CMPI_ThreadContext::context_key_alloc()
 { {
         pegasus_key_create(&contextKey);          TSDKey::create(&contextKey);
 } }
  
 PEGASUS_THREAD_KEY_TYPE CMPI_ThreadContext::getContextKey()  TSDKeyType CMPI_ThreadContext::getContextKey()
 { {
         if (context_key_once) {         if (context_key_once) {
                  context_key_alloc();                  context_key_alloc();
Line 87 
Line 87 
 } }
  
 CMPI_ThreadContext* CMPI_ThreadContext::getThreadContext() { CMPI_ThreadContext* CMPI_ThreadContext::getThreadContext() {
    PEGASUS_THREAD_KEY_TYPE k=getContextKey();     TSDKeyType k=getContextKey();
    #ifndef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM    #ifndef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
     return (CMPI_ThreadContext*)pegasus_get_thread_specific(k);      return (CMPI_ThreadContext*)TSDKey::get_thread_specific(k);
    #else    #else
     CMPI_ThreadContext* tCtx=NULL;     CMPI_ThreadContext* tCtx=NULL;
     pthread_getspecific(k,(void**)&tCtx);     pthread_getspecific(k,(void**)&tCtx);
Line 113 
Line 113 
    CIMfirst=CIMlast=NULL;    CIMfirst=CIMlast=NULL;
    broker=mb;    broker=mb;
    context=ctx;    context=ctx;
    PEGASUS_THREAD_KEY_TYPE k=getContextKey();     TSDKeyType k=getContextKey();
    #ifndef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM    #ifndef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
      prev=(CMPI_ThreadContext*)pegasus_get_thread_specific(k);       prev=(CMPI_ThreadContext*)TSDKey::get_thread_specific(k);
    #else    #else
     pthread_getspecific(k,(void**)&prev);     pthread_getspecific(k,(void**)&prev);
    #endif    #endif
    pegasus_set_thread_specific(k,this);     TSDKey::set_thread_specific(k,this);
    return;    return;
 } }
  
Line 129 
Line 129 
       ((CMPIInstance*)cur)->ft->release((CMPIInstance*)cur);       ((CMPIInstance*)cur)->ft->release((CMPIInstance*)cur);
    }    }
  
    PEGASUS_THREAD_KEY_TYPE k=getContextKey();     TSDKeyType k=getContextKey();
    pegasus_set_thread_specific(k,prev);     TSDKey::set_thread_specific(k,prev);
 } }
  
  


Legend:
Removed from v.1.10  
changed lines
  Added in v.1.10.14.1

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2