Fixed a few incorrect code in the example
authorFilippo Gioachin <gioachin@illinois.edu>
Fri, 7 Dec 2007 00:18:44 +0000 (00:18 +0000)
committerFilippo Gioachin <gioachin@illinois.edu>
Fri, 7 Dec 2007 00:18:44 +0000 (00:18 +0000)
tests/charm++/chkpt/hello.C

index 8b8b43cd09a8c4db1b1cf8fd7403774a79e4bac5..7e986263ecd464e07a6bbf36164f0e7bc3b605cf 100644 (file)
@@ -22,14 +22,16 @@ public:
     helloProxy.SayHi();
   }
   
-  Main(CkMigrateMessage *m){ 
+  Main(CkMigrateMessage *m) : CBase_Main(m) 
     mainProxy = thisProxy;
     a=987;b[0]=654;b[1]=321;
     CkPrintf("Main's MigCtor. a=%d(%p), b[0]=%d(%p), b[1]=%d.\n",a,&a,b[0],b,b[1]);
   }
 
   void myClient(CkReductionMsg *m){
-    step = *((int *)m->getData());
+    step++;
+    int stepInc = *((int *)m->getData());
+    CkAssert(step == stepInc);
     CkPrintf("myClient. a=%d(%p), b[0]=%d(%p), b[1]=%d.\n",a,&a,b[0],b,b[1]);
     if(step == 3){
       CkCallback cb(CkIndex_Hello::SayHi(),helloProxy);
@@ -41,22 +43,23 @@ public:
   }
 
   void pup(PUP::er &p){
-    Chare::pup(p);
+    CBase_Main::pup(p);
+    p|step;
     p|a; p(b,2);
     CkPrintf("Main's PUPer. a=%d(%p), b[0]=%d(%p), b[1]=%d.\n",a,&a,b[0],b,b[1]);
   }
 };
 
-class Hello : public ArrayElement1D
+class Hello : public CBase_Hello
 {
   int step;
 public:
   Hello(){ step = 0; }
-  Hello(CkMigrateMessage *m) {}
+  Hello(CkMigrateMessage *m) : CBase_Hello(m) {}
   
   void SayHi(){
     step++;
-    if(step < 6){
+    if(step < 10){
       CkCallback cb(CkIndex_Main::myClient(0),mainProxy);
       contribute(sizeof(int),(void*)&step,CkReduction::max_int,cb);
     }else{
@@ -65,7 +68,7 @@ public:
   }
   
   void pup(PUP::er &p){
-    ArrayElement1D::pup(p);
+    CBase_Hello::pup(p);
     p|step;
   }
 };