X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/6e4502cc095f2eca8335a00ebc3d626b5c192211..4157c72635c16fa9a690366d1c262cbfe222ddd2:/src/mc/mc_request.c diff --git a/src/mc/mc_request.c b/src/mc/mc_request.c index 2927c5174e..f2956a4d92 100644 --- a/src/mc/mc_request.c +++ b/src/mc/mc_request.c @@ -4,11 +4,13 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_request, mc, "Logging specific to MC (request)"); static char* pointer_to_string(void* pointer); +static char* buff_size_to_string(size_t size); int MC_request_depend(smx_req_t r1, smx_req_t r2) { if(_surf_do_model_check == 2) return TRUE; + if (r1->issuer == r2->issuer) return FALSE; @@ -144,6 +146,7 @@ int MC_request_depend(smx_req_t r1, smx_req_t r2) && r2->comm_wait.comm->comm.dst_buff != r1->comm_test.comm->comm.src_buff) return FALSE; + return TRUE; } @@ -155,9 +158,18 @@ static char* pointer_to_string(void* pointer) { return xbt_strdup("(verbose only)"); } +static char* buff_size_to_string(size_t buff_size) { + + if (XBT_LOG_ISENABLED(mc_request, xbt_log_priority_verbose)) + return bprintf("%zu", buff_size); + + return xbt_strdup("(verbose only)"); +} + + char *MC_request_to_string(smx_req_t req, int value) { - char *type = NULL, *args = NULL, *str = NULL, *p = NULL; + char *type = NULL, *args = NULL, *str = NULL, *p = NULL, *bs = NULL; smx_action_t act = NULL; size_t size = 0; @@ -165,15 +177,15 @@ char *MC_request_to_string(smx_req_t req, int value) case REQ_COMM_ISEND: type = xbt_strdup("iSend"); p = pointer_to_string(req->comm_isend.src_buff); - args = bprintf("src=%s, buff=%s, size=%zu", req->issuer->name, - p, req->comm_isend.src_buff_size); + bs = buff_size_to_string(req->comm_isend.src_buff_size); + args = bprintf("src=%s, buff=%s, size=%s", req->issuer->name, p, bs); break; case REQ_COMM_IRECV: size = req->comm_irecv.dst_buff_size ? *req->comm_irecv.dst_buff_size : 0; type = xbt_strdup("iRecv"); p = pointer_to_string(req->comm_irecv.dst_buff); - args = bprintf("dst=%s, buff=%s, size=%zu", req->issuer->name, - p, size); + bs = buff_size_to_string(size); + args = bprintf("dst=%s, buff=%s, size=%s", req->issuer->name, p, bs); break; case REQ_COMM_WAIT: act = req->comm_wait.comm; @@ -233,6 +245,7 @@ char *MC_request_to_string(smx_req_t req, int value) xbt_free(type); xbt_free(args); xbt_free(p); + xbt_free(bs); return str; }