Added migration constructors to control points groups.
authorIsaac Dooley <idooley2@illinois.edu>
Thu, 22 Jul 2010 19:48:20 +0000 (14:48 -0500)
committerIsaac Dooley <idooley2@illinois.edu>
Thu, 22 Jul 2010 19:48:20 +0000 (14:48 -0500)
src/ck-cp/controlPoints.ci
src/ck-cp/controlPoints.h
src/ck-perf/trace-controlPointsBOC.h

index 5ed7cb8b086b6580b5722ea0ff1a94909cfc7216..acf58973be5a68353a872475268304fb83ba67bc 100644 (file)
@@ -32,7 +32,7 @@ module ControlPoints {
  initnode void controlPointInitNode();
  initproc void ControlPoint::initControlPointEffects();
 
- group  [migratable]  controlPointManager {
+ group [migratable] controlPointManager {
     entry controlPointManager();
 
     entry [expedited] void requestMemoryUsage(CkCallback cb);
index 5434bc5968ec0130bfc0980c00326872569f7ef6..526c5aeef7400cb8c4677bd4669f9a45868f7bdb 100644 (file)
@@ -738,16 +738,16 @@ public:
 
 
 
-  virtual void pup(PUP::er &p)
+  void pup(PUP::er &p)
   {
     CBase_controlPointManager::pup(p);
     if(p.isUnpacking()){
-      CkAbort("Group controlPointManager is not yet capable of migration.\n");
+      CkPrintf("Group controlPointManager is not yet capable of migration.\n");
     }
   }
-
 controlPointManager(CkMigrateMessage* m) {
-    // TODO: Implement this
+  
controlPointManager(CkMigrateMessage* m) : CBase_controlPointManager(m) {
+    CkPrintf("Warning: control point framework likely won't work after checkpoint restart, please fix this problem if you need the functionality.");
   }
 
 
index b1aa42021624edca2f7fcc56f9bb01c2d8255fdb..f20be9fbe7c45a11ace9af2680148cdbc68f50d2 100644 (file)
@@ -35,7 +35,17 @@ public:
       initBGP_UPC_Counters();
 #endif
   };
-  TraceControlPointsBOC(CkMigrateMessage *m) {};
+
+
+  void pup(PUP::er &p)
+  {
+    CBase_TraceControlPointsBOC::pup(p);
+    if(p.isUnpacking()){
+      CkPrintf("Group TraceControlPointsBOC is not yet capable of migration.\n");
+    }
+  }
+
+ TraceControlPointsBOC(CkMigrateMessage *m) : CBase_TraceControlPointsBOC(m) {};
 
   void printBGP_UPC_CountersBOC(void);