summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/mdia/mdiasm.H
diff options
context:
space:
mode:
authorLarina DSouza <larsouza@in.ibm.com>2012-06-13 22:53:59 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2012-09-24 11:10:07 -0500
commitb52c81900043f02fe05d9313cebbde4fe805640c (patch)
treef3c24624f02927b068e72ff1a9f20231b2f021a0 /src/usr/diag/mdia/mdiasm.H
parentf754a2a6f0079f3424e2368ae3c3635ac8440612 (diff)
downloadtalos-hostboot-b52c81900043f02fe05d9313cebbde4fe805640c.tar.gz
talos-hostboot-b52c81900043f02fe05d9313cebbde4fe805640c.zip
Process Maintenance Command timeout
When a maintenance cmd timesout, set the target/s WorkFlowStatus to the appropriate state such that the state machine can take further action. RTC: 41894 Change-Id: Iaf5b2b5ab07f9269379b011b720df760e92e178f Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1200 Tested-by: Jenkins Server Reviewed-by: Zane Shelley <zshelle@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/diag/mdia/mdiasm.H')
-rw-r--r--src/usr/diag/mdia/mdiasm.H29
1 files changed, 16 insertions, 13 deletions
diff --git a/src/usr/diag/mdia/mdiasm.H b/src/usr/diag/mdia/mdiasm.H
index 60abe14b1..146bb1ce9 100644
--- a/src/usr/diag/mdia/mdiasm.H
+++ b/src/usr/diag/mdia/mdiasm.H
@@ -57,7 +57,7 @@ class StateMachine
* @param[in] i_monitorIDs Vector of monitorIDs
*/
virtual void processCommandTimeout(
- const std::vector<uint64_t> & i_monitorIDs) {}
+ const MonitorIDs & i_monitorIDs);
/**
* @brief run the state machine to completion
@@ -94,13 +94,26 @@ class StateMachine
*/
virtual ~StateMachine();
+ protected:
+
+ /**
+ * @brief serialization mutex
+ */
+ mutex_t iv_mutex;
+
+ /**
+ * @brief command monitor
+ */
+ CommandMonitor * iv_monitor;
+
private:
/**
* @brief aliases
*/
typedef std::vector<WorkFlowProperties *> WorkFlowPropertiesList;
- typedef std::vector<WorkFlowProperties *>::iterator WorkFlowPropertiesIterator;
+ typedef std::vector<WorkFlowProperties *>::iterator
+ WorkFlowPropertiesIterator;
/**
* @brief setup load the workflow properties for the provided
@@ -165,7 +178,7 @@ class StateMachine
*
* @param[in] i_wfp the target for which a command should be issued
*/
- errlHndl_t doMaintCommand(WorkFlowProperties & i_wfp);
+ virtual errlHndl_t doMaintCommand(WorkFlowProperties & i_wfp);
/**
* @brief executeWorkItem work item entry point for
@@ -202,16 +215,6 @@ class StateMachine
Util::ThreadPool<WorkItem> * iv_tp;
/**
- * @brief command monitor
- */
- CommandMonitor * iv_monitor;
-
- /**
- * @brief serialization mutex
- */
- mutex_t iv_mutex;
-
- /**
* @brief completion condition
*/
sync_cond_t iv_cond;
OpenPOWER on IntegriCloud