X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/0f5e8daaa6e9f74521068aa75837200bcd182ea6..3028d14c0b1903582ac16f5eb09e4f33d7b1eb3a:/src/gras/Virtu/process.c diff --git a/src/gras/Virtu/process.c b/src/gras/Virtu/process.c index 6ac3a17c7c..b2d442cab8 100644 --- a/src/gras/Virtu/process.c +++ b/src/gras/Virtu/process.c @@ -10,7 +10,7 @@ #include "xbt/sysdep.h" #include "xbt/log.h" #include "gras/transport.h" -#include "gras/datadesc.h" +#include "xbt/datadesc.h" #include "gras/messages.h" #include "gras_modinter.h" @@ -89,7 +89,6 @@ void *gras_libdata_by_name_from_procdata(const char *name, gras_procdata_t * pd) { void *res = NULL; - xbt_ex_t e; if (xbt_set_length(pd->libdata) < xbt_dynar_length(_gras_procdata_fabrics)) { /* Damn, some new modules were added since procdata_init(). Amok? */ @@ -99,8 +98,8 @@ void *gras_libdata_by_name_from_procdata(const char *name, TRY { res = xbt_set_get_by_name(pd->libdata, name); } - CATCH(e) { - RETHROW1("Cannot retrieve the libdata associated to %s: %s", name); + CATCH_ANONYMOUS { + RETHROWF("Cannot retrieve the libdata associated to %s: %s", name); } return res; } @@ -125,7 +124,6 @@ void gras_procdata_init() unsigned int cursor; - xbt_ex_t e; xbt_set_elm_t elem; if (!pd->libdata) { @@ -134,36 +132,28 @@ void gras_procdata_init() } xbt_dynar_foreach(_gras_procdata_fabrics, cursor, fab) { - volatile int found = 0; if (cursor + 1 <= xbt_set_length(pd->libdata)) { - DEBUG2("Skip fabric %d: there is already %ld libdata", + XBT_DEBUG("Skip fabric %u: there is already %lu libdata", cursor, xbt_set_length(pd->libdata)); continue; /* allow to recall this function to get recently added fabrics */ } - DEBUG2("Go ahead for cursor %d, there is %ld libdata", + XBT_DEBUG("Go ahead for cursor %u, there is %lu libdata", cursor, xbt_set_length(pd->libdata)); - xbt_assert1(fab.name, "Name of fabric #%d is NULL!", cursor); - DEBUG1("Create the procdata for %s", fab.name); + xbt_assert(fab.name, "Name of fabric #%u is NULL!", cursor); + XBT_DEBUG("Create the procdata for %s", fab.name); /* Check for our own errors */ - TRY { - xbt_set_get_by_name(pd->libdata, fab.name); - found = 1; - } - CATCH(e) { - xbt_ex_free(e); - found = 0; - } - if (found) - THROW1(unknown_error, 0, + + if (xbt_set_get_by_name_or_null(pd->libdata, fab.name) != NULL) + THROWF(unknown_error, 0, "MayDay: two modules use '%s' as libdata name", fab.name); /* Add the data in place, after some more sanity checking */ - elem = (*(fab.constructor)) (); + elem = fab.constructor(); if (elem->name_len && elem->name_len != strlen(elem->name)) { elem->name_len = strlen(elem->name); - WARN1 + XBT_WARN ("Module '%s' constructor is borken: it does not set elem->name_len", fab.name); } @@ -189,8 +179,7 @@ void gras_procdata_exit() const char *gras_os_hostport() { static char *res = NULL; - if (res) - free(res); /* my port may have changed */ + free(res); /* my port may have changed */ res = bprintf("%s:%d", gras_os_myname(), gras_os_myport()); return (const char *) res; }