Removing memory leak in kNeighbor benchmark
[charm.git] / examples / charm++ / X10 / X10_test2.C
1 //-------------------------------------------------------------
2 // file   : X10_test2.C
3 // author : Isaac Dooley
4 // date   : April 2006
5 //
6
7 #include "X10_lib.h"
8
9 // Statements which can be executed by the application
10 // These eventually will be created by a compiler
11
12 void asnycHandler(int whichStatement){
13   printf("Faking execution of statement %d\n", whichStatement);
14 }
15
16 // Returning of data will probably be done via a serialized message. I would like to know
17 // how the compiler folks would like to handle this.
18 void futureHandler(int whichStatement){
19   printf("Faking execution of future %d\n", whichStatement);
20 }
21
22
23
24
25 void mainThread(){
26   
27   FinishHandle f = beginFinish();
28   asyncCall(f,1,100,NULL); // An X11 async method with place, whichFunction, and packed variables  
29   printf("do some of my work here\n");;  // Do local work
30   asyncCall(f,2,101,NULL);
31   asyncCall(f,3,102,NULL);
32   asyncCall(f,2,103,NULL);
33   endFinish(f); //      Wait on async to finish
34
35   FutureHandle fut = futureCall(3, 2, NULL);  
36   futureForce(fut); // currently the return value is ignored, but once we choose the 
37                     // format for returning the data, it will be simple to add.
38   
39   printf("Done!\n");
40
41 }
42