fix memory leak
authorBrian Demsky <bdemsky@uci.edu>
Thu, 14 Mar 2013 22:39:14 +0000 (15:39 -0700)
committerBrian Demsky <bdemsky@uci.edu>
Thu, 14 Mar 2013 22:39:14 +0000 (15:39 -0700)
when we reuse nodes in the nodestack, we will recreate yield information and leak the old array...

nodestack.cc

index c757af2..b914243 100644 (file)
@@ -96,7 +96,8 @@ int Node::get_yield_data(int tid1, int tid2) const {
 }
 
 void Node::update_yield(Scheduler * scheduler) {
-       yield_data=(int *) model_calloc(1, sizeof(int)*num_threads*num_threads);
+       if (yield_data==NULL)
+               yield_data=(int *) model_calloc(1, sizeof(int)*num_threads*num_threads);
        //handle base case
        if (parent == NULL) {
                for(int i = 0; i < num_threads*num_threads; i++) {