X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/1a64ca4c11a1eb7ba2ecd102f877ac571486a034..HEAD:/src/smpi/bindings/smpi_pmpi_op.cpp?ds=sidebyside diff --git a/src/smpi/bindings/smpi_pmpi_op.cpp b/src/smpi/bindings/smpi_pmpi_op.cpp index e90a6ba99b..e693e10939 100644 --- a/src/smpi/bindings/smpi_pmpi_op.cpp +++ b/src/smpi/bindings/smpi_pmpi_op.cpp @@ -1,10 +1,11 @@ -/* Copyright (c) 2007-2021. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2007-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. */ #include "private.hpp" #include "smpi_op.hpp" +#include "smpi_comm.hpp" XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(smpi_pmpi); @@ -24,13 +25,14 @@ int PMPI_Op_free(MPI_Op * op) CHECK_MPI_NULL(1, MPI_OP_NULL, MPI_ERR_OP, *op) if((*op)->is_predefined()) return MPI_ERR_OP; + (*op)->mark_as_deleted(); simgrid::smpi::Op::unref(op); *op = MPI_OP_NULL; return MPI_SUCCESS; } int PMPI_Op_commutative(MPI_Op op, int* commute){ - CHECK_OP(1) + CHECK_MPI_NULL(1, MPI_OP_NULL, MPI_ERR_OP, op) CHECK_NULL(1, MPI_ERR_ARG, commute) *commute = op->is_commutative(); return MPI_SUCCESS;