X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/775da107e096d62c62de62b45cd785ed84c61668..968613a336f2fff832f9085e69b990e7371ca8e5:/src/mc/mc_client_api.cpp diff --git a/src/mc/mc_client_api.cpp b/src/mc/mc_client_api.cpp index dd118c118a..f75d35a2de 100644 --- a/src/mc/mc_client_api.cpp +++ b/src/mc/mc_client_api.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2008-2022. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2008-2023. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -30,8 +30,10 @@ int MC_random(int min, int max) void MC_assert(int prop) { + // Cannot used xbt_assert here, or it would be an infinite recursion. #if SIMGRID_HAVE_MC - xbt_assert(mc_model_checker == nullptr); + if (mc_model_checker != nullptr) + xbt_die("This should be called from the client side"); if (not prop) { if (MC_is_active()) simgrid::mc::AppSide::get()->report_assertion_failure(); @@ -39,7 +41,8 @@ void MC_assert(int prop) xbt_die("MC assertion failed"); } #else - xbt_assert(prop, "Safety property violation detected without the model-checker"); + if (not prop) + xbt_die("Safety property violation detected without the model-checker"); #endif }