X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/c6ac33cf3144a330b343c92b06f37de48dd66f17..208debc0db79d1901a4655d3015218bb4700cd8c:/src/gras/Msg/msg.c diff --git a/src/gras/Msg/msg.c b/src/gras/Msg/msg.c index 998f1f1630..23ceb57b3c 100644 --- a/src/gras/Msg/msg.c +++ b/src/gras/Msg/msg.c @@ -161,30 +161,29 @@ gras_msgtype_declare_v(const char *name, * * Retrieve a datatype description from its name */ -gras_error_t -gras_msgtype_by_name (const char *name, - gras_msgtype_t **dst) { - return gras_msgtype_by_namev(name,0,dst); +gras_msgtype_t * gras_msgtype_by_name (const char *name) { + return gras_msgtype_by_namev(name,0); } /** * gras_msgtype_by_namev: * * Retrieve a datatype description from its name and version */ -gras_error_t -gras_msgtype_by_namev(const char *name, - short int version, - gras_msgtype_t **dst) { +gras_msgtype_t * gras_msgtype_by_namev(const char *name, + short int version) { + gras_msgtype_t *res; gras_error_t errcode; char *namev = make_namev(name,version); errcode = gras_set_get_by_name(_gras_msgtype_set, namev, - (gras_set_elm_t**)dst); + (gras_set_elm_t**)&res); + if (errcode != no_error) + res = NULL; if (name != namev) free(namev); - - return errcode; + + return res; } /** @@ -199,6 +198,11 @@ gras_msg_send(gras_socket_t *sock, gras_error_t errcode; static gras_datadesc_type_t *string_type=NULL; + + if (!msgtype) + RAISE0(mismatch_error, + "Cannot send the NULL message (did msgtype_by_name fail?)"); + if (!string_type) { string_type = gras_datadesc_by_name("string"); gras_assert(string_type); @@ -298,6 +302,10 @@ gras_msg_wait(double timeout, *expeditor = NULL; payload_got = NULL; + if (!msgt_want) + RAISE0(mismatch_error, + "Cannot wait for the NULL message (did msgtype_by_name fail?)"); + VERB1("Waiting for message %s",msgt_want->name); start = now = gras_os_time();