summaryrefslogtreecommitdiff
path: root/src/sim
diff options
context:
space:
mode:
Diffstat (limited to 'src/sim')
-rw-r--r--src/sim/drain.hh14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/sim/drain.hh b/src/sim/drain.hh
index 31dbc97af..370217bd6 100644
--- a/src/sim/drain.hh
+++ b/src/sim/drain.hh
@@ -275,6 +275,20 @@ class Drainable
/** Return the current drain state of an object. */
DrainState drainState() const { return _drainState; }
+ /**
+ * Notify a child process of a fork.
+ *
+ * When calling fork in gem5, we need to ensure that resources
+ * shared between the parent and the child are consistent. This
+ * method is intended to be overloaded to handle that. For
+ * example, an object could use this method to re-open input files
+ * to get a separate file description with a private file offset.
+ *
+ * This method is only called in the child of the fork. The call
+ * takes place in a drained system.
+ */
+ virtual void notifyFork() {};
+
private:
/** DrainManager interface to request a drain operation */
DrainState dmDrain();