X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/fe9f13ea487593ec11c6af50d8150a6743c84114..9afa0d0db01da2ae64e48fb594cc87c186dde192:/include/smpi/smpi_helpers.h diff --git a/include/smpi/smpi_helpers.h b/include/smpi/smpi_helpers.h index 6739870bcb..ec5d479bec 100644 --- a/include/smpi/smpi_helpers.h +++ b/include/smpi/smpi_helpers.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2018-2019. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2018-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. */ @@ -11,17 +11,35 @@ #endif #include - +#ifndef TRACE_CALL_LOCATION /* Defined by smpicc on the command line */ #define sleep(x) smpi_sleep(x) #define usleep(x) smpi_usleep(x) +#else +#define sleep(x) (smpi_trace_set_call_location(__FILE__, __LINE__, "sleep"), smpi_sleep(x)) +#define usleep(x) (smpi_trace_set_call_location(__FILE__, __LINE__, "usleep"), smpi_usleep(x)) +#endif + #define gettimeofday(x, y) smpi_gettimeofday((x), 0) #if _POSIX_TIMERS > 0 +#ifndef TRACE_CALL_LOCATION /* Defined by smpicc on the command line */ #define nanosleep(x, y) smpi_nanosleep((x), (y)) +#else +#define nanosleep(x) (smpi_trace_set_call_location(__FILE__, __LINE__, "nanosleep"), smpi_nanosleep(x)) +#endif #define clock_gettime(x, y) smpi_clock_gettime((x), (y)) #endif #define getopt(x, y, z) smpi_getopt((x), (y), (z)) #define getopt_long(x, y, z, a, b) smpi_getopt_long((x), (y), (z), (a), (b)) #define getopt_long_only(x, y, z, a, b) smpi_getopt_long_only((x), (y), (z), (a), (b)) +#ifndef SMPI_NO_OVERRIDE_MALLOC +#define malloc(x) smpi_shared_malloc_intercept((x), __FILE__, __LINE__) +#define calloc(x, y) smpi_shared_calloc_intercept((x), (y), __FILE__, __LINE__) +#define realloc(x, y) smpi_shared_realloc_intercept((x), (y), __FILE__, __LINE__) +#define free(x) smpi_shared_free(x) +#endif + +#define exit(x) smpi_exit(x) +#define getpid smpi_getpid #endif