Procházet zdrojové kódy

- Add sanity checks
- Redux requests only require that we allocate a buffer

Cédric Augonnet před 14 roky
rodič
revize
58215b1860
1 změnil soubory, kde provedl 6 přidání a 1 odebrání
  1. 6 1
      src/datawizard/data_request.c

+ 6 - 1
src/datawizard/data_request.c

@@ -61,6 +61,7 @@ void _starpu_deinit_data_request_lists(void)
 /* this should be called with the lock r->handle->header_lock taken */
 static void starpu_data_request_destroy(starpu_data_request_t r)
 {
+	STARPU_ASSERT(r->dst_replicate->request == r);
 	r->dst_replicate->request = NULL;
 	starpu_data_request_delete(r);
 }
@@ -251,11 +252,15 @@ static void starpu_handle_data_request_completion(starpu_data_request_t r)
 	r->completed = 1;
 	
 	/* Remove a reference on the destination replicate  */
+	STARPU_ASSERT(dst_replicate->refcnt > 0);
 	dst_replicate->refcnt--;
 
 	/* In case the source was "locked" by the request too */
-	if (mode & (STARPU_R|STARPU_REDUX))
+	if (mode & STARPU_R)
+	{
+		STARPU_ASSERT(src_replicate->refcnt > 0);
 		src_replicate->refcnt--;
+	}
 
 	r->refcnt--;