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

Diff for /pegasus/src/Pegasus/Common/Attic/ThreadVms_inline.h between version 1.2 and 1.3

version 1.2, 2005/02/18 16:12:26 version 1.3, 2005/06/24 19:34:23
Line 37 
Line 37 
 #ifndef ThreadVms_inline_h #ifndef ThreadVms_inline_h
 #define ThreadVms_inline_h #define ThreadVms_inline_h
  
 inline Boolean Thread::run()  inline ThreadStatus Thread::run()
 { {
     if (_is_detached)     if (_is_detached)
     {     {
Line 47 
Line 47 
     int rc;     int rc;
     rc = pthread_create((pthread_t *)&_handle.thid,     rc = pthread_create((pthread_t *)&_handle.thid,
                         &_handle.thatt, _start, this);                         &_handle.thatt, _start, this);
     if (rc == EAGAIN)  
       /* On VMS the return code when there is inssuficient resources to create
       a thread is ENOMEM. The POSIX standard defines that it should be EAGAIN,
       hence we checking both values.
   
       For more details:
        http://aether.lbl.gov/htbin/helpgate/HELP/DECTHREADS/PTHREAD_ROUTINES/PTHREAD_CREATE/RETURN_VALUES
       */
       if ((rc == EAGAIN) || (rc==ENOMEM))
     {     {
         _handle.thid = 0;         _handle.thid = 0;
         return false;          return PEGASUS_THREAD_INSUFFICIENT_RESOURCES;
     }     }
     else if (rc != 0)     else if (rc != 0)
     {     {
         // ATTN: Error behavior has not yet been defined (see Bugzilla 972)  
         _handle.thid = 0;         _handle.thid = 0;
         return true;          return PEGASUS_THREAD_SETUP_FAILURE;
     }     }
     return true;      return PEGASUS_THREAD_OK;
 } }
  
  


Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2