From 19478c6982065e3e3a62be2289e12019dce5c1eb Mon Sep 17 00:00:00 2001
From: Mathieu Faverge <mathieu.faverge@inria.fr>
Date: Sun, 27 Mar 2022 16:26:21 +0200
Subject: [PATCH] async: add assert to fail as soon as a request has failed in
 debug mode

---
 control/async.c                        | 1 +
 runtime/openmp/control/runtime_async.c | 1 +
 runtime/parsec/control/runtime_async.c | 1 +
 runtime/quark/control/runtime_async.c  | 1 +
 runtime/starpu/control/runtime_async.c | 1 +
 5 files changed, 5 insertions(+)

diff --git a/control/async.c b/control/async.c
index 1a86246cf..5928f5279 100644
--- a/control/async.c
+++ b/control/async.c
@@ -77,6 +77,7 @@ int chameleon_sequence_wait(CHAM_context_t *chamctxt, RUNTIME_sequence_t *sequen
     if ( chamctxt->runtime_paused ) {
         RUNTIME_pause( chamctxt );
     }
+    assert( sequence->status == CHAMELEON_SUCCESS );
     return CHAMELEON_SUCCESS;
 }
 
diff --git a/runtime/openmp/control/runtime_async.c b/runtime/openmp/control/runtime_async.c
index 5e74e6042..396c45890 100644
--- a/runtime/openmp/control/runtime_async.c
+++ b/runtime/openmp/control/runtime_async.c
@@ -65,6 +65,7 @@ void RUNTIME_sequence_flush( CHAM_context_t  *chamctxt,
                              int status )
 {
     (void)chamctxt;
+    assert( status == CHAMELEON_SUCCESS );
     sequence->request = request;
     sequence->status = status;
     request->status = status;
diff --git a/runtime/parsec/control/runtime_async.c b/runtime/parsec/control/runtime_async.c
index 0b2d744fc..fe7d532cf 100644
--- a/runtime/parsec/control/runtime_async.c
+++ b/runtime/parsec/control/runtime_async.c
@@ -77,6 +77,7 @@ void RUNTIME_sequence_flush( CHAM_context_t  *chamctxt,
                              RUNTIME_request_t  *request,
                              int status )
 {
+    assert( status == CHAMELEON_SUCCESS );
     sequence->request = request;
     sequence->status = status;
     request->status = status;
diff --git a/runtime/quark/control/runtime_async.c b/runtime/quark/control/runtime_async.c
index 514a42b57..b76e67c2c 100644
--- a/runtime/quark/control/runtime_async.c
+++ b/runtime/quark/control/runtime_async.c
@@ -68,6 +68,7 @@ void RUNTIME_sequence_flush( CHAM_context_t  *chamctxt,
                              RUNTIME_request_t  *request,
                              int status )
 {
+    assert( status == CHAMELEON_SUCCESS );
     sequence->request = request;
     sequence->status = status;
     request->status = status;
diff --git a/runtime/starpu/control/runtime_async.c b/runtime/starpu/control/runtime_async.c
index f4602ac8f..632e83c52 100644
--- a/runtime/starpu/control/runtime_async.c
+++ b/runtime/starpu/control/runtime_async.c
@@ -78,6 +78,7 @@ void RUNTIME_sequence_flush( CHAM_context_t     *chamctxt,
                              int status )
 {
     (void)chamctxt;
+    assert( status == CHAMELEON_SUCCESS );
     sequence->request = request;
     sequence->status = status;
     request->status = status;
-- 
GitLab