Public Member Functions | Private Member Functions | Private Attributes | Friends

pm_AssignResThread Class Reference
[Partition Manager]

#include <i_migrationjob_impl.h>

Inheritance diagram for pm_AssignResThread:
Inheritance graph
[legend]
Collaboration diagram for pm_AssignResThread:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 pm_AssignResThread (i_MigrationJob_i &a_migJob, const i_ResourceList_t &a_resources, cmn_Mutex &a_jobActivate_x)

Private Member Functions

 ~pm_AssignResThread ()
virtual void Run (void *arg)

Private Attributes

i_MigrationJob_im_migJob
i_ResourceList_t m_resources
cmn_Mutexm_resource_x
 log_CLASSID_m

Friends

class i_MigrationJob_i

Detailed Description

Definition at line 42 of file i_migrationjob_impl.h.


Constructor & Destructor Documentation

pm_AssignResThread::pm_AssignResThread ( i_MigrationJob_i a_migJob,
const i_ResourceList_t a_resources,
cmn_Mutex a_jobActivate_x 
)

Definition at line 500 of file i_migrationjob_impl.cpp.

References log_FUNC_m.

    : m_migJob(a_migJob),
      m_resources(a_resources),
      m_resource_x(a_resource_x){
    log_FUNC_m(pm_AssignResThread);
}

pm_AssignResThread::~pm_AssignResThread (  )  [private]

Definition at line 509 of file i_migrationjob_impl.cpp.

References log_FUNC_m.


Member Function Documentation

void pm_AssignResThread::Run ( void *  arg  )  [private, virtual]

Reimplemented from cmn_Thread.

Definition at line 513 of file i_migrationjob_impl.cpp.

References ivd_BaseException::GetError(), i_JobParams::jobID, log_ERR_m, log_FUNC_m, i_Job_i::m_iJobParams, m_migJob, m_resource_x, m_resources, and i_Resource_t::resAssigned.

                                      {
    log_FUNC_m(Run);
    try {
        m_migJob.i_Job_i::AssignResources(m_resources);    
    } catch (ivd_Exception &e){
        log_ERR_m("[" << m_migJob.m_iJobParams.jobID << "] " << e);
        if (e.GetError() == ie_JOB_REMOVED){
            //bug 2389
            //resources should be released
            {
                i_Resource_t tmpRes;
                tmpRes = m_resources[0];
                tmpRes.resAssigned = true;
                cmn_MutexLock l(m_resource_x);            
                m_migJob.i_Job_i::SetResources(tmpRes);
            }
            
        }
    }
}

Here is the call graph for this function:


Friends And Related Function Documentation

friend class i_MigrationJob_i [friend]

Definition at line 47 of file i_migrationjob_impl.h.


Member Data Documentation

Reimplemented from cmn_Thread.

Definition at line 60 of file i_migrationjob_impl.h.

Definition at line 56 of file i_migrationjob_impl.h.

Referenced by Run().

Definition at line 58 of file i_migrationjob_impl.h.

Referenced by Run().

Definition at line 57 of file i_migrationjob_impl.h.

Referenced by Run().


The documentation for this class was generated from the following files: