(file) Return to Thread.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

Diff for /pegasus/src/Pegasus/Common/Thread.h between version 1.50 and 1.51

version 1.50, 2005/05/13 20:53:39 version 1.51, 2005/06/20 12:50:13
Line 35 
Line 35 
 //              David Dillard, VERITAS Software Corp. //              David Dillard, VERITAS Software Corp.
 //                  (david.dillard@veritas.com) //                  (david.dillard@veritas.com)
 //              Sean Keenan, Hewlett-Packard Company (sean.keenan@hp.com) //              Sean Keenan, Hewlett-Packard Company (sean.keenan@hp.com)
   //              Josephine Eskaline Joyce, IBM (jojustin@in.ibm.com) for Bug#2393
 // //
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
Line 92 
Line 93 
       {       {
          PEGASUS_ASSERT(key != NULL);          PEGASUS_ASSERT(key != NULL);
          size_t keysize = strlen(key);          size_t keysize = strlen(key);
          _key = new char[keysize + 1];           _key.reset(new char[keysize + 1]);
          memcpy(_key, key, keysize);           memcpy(_key.get(), key, keysize);
          _key[keysize] = 0x00;           _key.get()[keysize] = 0x00;
  
       }       }
  
Line 102 
Line 103 
       {       {
          PEGASUS_ASSERT(key != NULL);          PEGASUS_ASSERT(key != NULL);
          size_t keysize = strlen(key);          size_t keysize = strlen(key);
          _key = new char[keysize + 1];           _key.reset(new char[keysize + 1]);
          memcpy(_key, key, keysize);           memcpy(_key.get(), key, keysize);
          _key[keysize] = 0x00;           _key.get()[keysize] = 0x00;
          _data = ::operator new(_size);          _data = ::operator new(_size);
  
       }       }
Line 115 
Line 116 
          PEGASUS_ASSERT(data != NULL);          PEGASUS_ASSERT(data != NULL);
          size_t keysize = strlen(key);          size_t keysize = strlen(key);
  
          _key = new char[keysize + 1];           _key.reset(new char[keysize + 1]);
          memcpy(_key, key, keysize);           memcpy(_key.get(), key, keysize);
          _key[keysize] = 0x00;           _key.get()[keysize] = 0x00;
          _data = ::operator new(_size);          _data = ::operator new(_size);
          memcpy(_data, data, size);          memcpy(_data, data, size);
       }       }
Line 129 
Line 130 
             {             {
                _delete_func( _data );                _delete_func( _data );
             }             }
          if( _key != NULL )  
             delete [] _key;  
       }       }
  
       /**       /**
Line 203 
Line 202 
  
       inline Boolean operator==(const thread_data& b) const       inline Boolean operator==(const thread_data& b) const
       {       {
          return(operator==(b._key));           return(operator==(b._key.get()));
       }       }
  
    private:    private:
Line 211 
Line 210 
       thread_data();       thread_data();
       void *_data;       void *_data;
       size_t _size;       size_t _size;
       char *_key;        AutoArrayPtr<char> _key;
  
       friend class DQueue<thread_data>;       friend class DQueue<thread_data>;
       friend class Thread;       friend class Thread;


Legend:
Removed from v.1.50  
changed lines
  Added in v.1.51

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2