From c85b513fcee3891a2c421925eb46179f44b55577 Mon Sep 17 00:00:00 2001
From: Samo Penic <samo.penic@gmail.com>
Date: Sun, 24 Nov 2013 10:51:37 +0000
Subject: [PATCH] Problem with locking fixed. New problem arises with Vertex not in cell or segfault

---
 src/vertex.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/vertex.c b/src/vertex.c
index cd29e13..30b294f 100644
--- a/src/vertex.c
+++ b/src/vertex.c
@@ -23,7 +23,7 @@
     for(i=0;i<N;i++) {
         vlist->vtx[i]=(ts_vertex *)calloc(1,sizeof(ts_vertex));
         vlist->vtx[i]->idx=i;
-
+	vlist->vtx[i]->locked=(ts_uint *)calloc(1,sizeof(ts_vertex));
     /* initialize Ylm for spherical hamonics DONE in sh.c */
 /*    for(i=0;i<l;i++){
         vlist->vtx[i]->Ylm[i]=(ts_double **)calloc(2*i+1,sizeof(ts_double *));
@@ -316,7 +316,7 @@
 
 ts_bool vertex_taint(ts_vertex *vtx, ts_uint level){
 	ts_uint i;
-	vtx->locked++; //lock current vertex
+	(*(vtx->locked))++; //lock current vertex
 	if(level==0){ //if we reach last in recursion exit
 		return TS_SUCCESS;	
 	}	
@@ -327,7 +327,7 @@
 }
 
 ts_bool vertex_untaint(ts_vertex *vtx, ts_uint level){
-		vtx->locked--;
+		(*(vtx->locked))--;
 	if(level==0){
 		return TS_SUCCESS;	
 	}	
@@ -339,7 +339,7 @@
 }
 
 inline ts_bool vertex_tainted(ts_vertex *vtx, ts_uint level, ts_uint amount){
-	if(vtx->locked>amount) return 1;
+	if(*(vtx->locked)>amount) return 1;
 	if(level==0){
 		return 0;
 	}

--
Gitblit v1.9.3