-/* Copyright (c) 2019-2021. The SimGrid Team.
+/* Copyright (c) 2019-2023. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
the_global_rank);
SMPI_thread_create();
t->f(t->param);
- free(t);
+ xbt_free(t);
}
static void mpi_thread_create(const char* name, void* (*f)(void*), void* param)
{
- struct threadwrap* threadwrap = (struct threadwrap*)malloc(sizeof(*threadwrap));
+ struct threadwrap* threadwrap = xbt_malloc(sizeof(*threadwrap));
threadwrap->f = f;
threadwrap->param = param;
sg_actor_t actor = sg_actor_init(name, sg_host_self());
static void mythread_create(const char* name, MPI_Request* req, int rank)
{
- struct param* param = (struct param*)malloc(sizeof(*param));
+ struct param* param = xbt_malloc(sizeof(*param));
param->req = req;
param->rank = rank;
mpi_thread_create(name, req_wait, param);
MPI_Error_string(ret, err_string, &length);
XBT_INFO("%d request done, return %s", rank, err_string);
XBT_INFO("%d still has MPI rank %d and global variable %d", param->rank, rank, global_rank);
- free(param);
+ xbt_free(param);
return NULL;
}