X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/f28d984fb76ea5e45562168a2e67b60a8b1d0fb2..2b1e59493dcd4f1709b1228c673364ef7facc6e5:/examples/msg/mc/bugged1_for_liveness.c diff --git a/examples/msg/mc/bugged1_for_liveness.c b/examples/msg/mc/bugged1_for_liveness.c index 10cda7e9f3..784e667a5d 100644 --- a/examples/msg/mc/bugged1_for_liveness.c +++ b/examples/msg/mc/bugged1_for_liveness.c @@ -42,28 +42,28 @@ int coordinator(int argc, char *argv[]) XBT_INFO("CS already used. Queue the request of client %d", atoi(req) +1); xbt_dynar_push(requests, &req); } else { // can serve it immediatly - if(strcmp(req, "2") == 0){ - m_task_t answer = MSG_task_create("grant", 0, 1000, NULL); - MSG_task_send(answer, req); - CS_used = 1; - XBT_INFO("CS idle. Grant immediatly"); - } + if(strcmp(req, "2") == 0){ + m_task_t answer = MSG_task_create("grant", 0, 1000, NULL); + MSG_task_send(answer, req); + CS_used = 1; + XBT_INFO("CS idle. Grant immediatly"); + } } } else { // that's a release. Check if someone was waiting for the lock if (xbt_dynar_length(requests) > 0) { XBT_INFO("CS release. Grant to queued requests (queue size: %lu)", xbt_dynar_length(requests)); char *req ; - xbt_dynar_get_cpy(requests, (xbt_dynar_length(requests) - 1), &req); - if(strcmp(req, "2") == 0){ - xbt_dynar_pop(requests, &req); - MSG_task_send(MSG_task_create("grant", 0, 1000, NULL), req); - todo--; - }else{ - xbt_dynar_pop(requests, &req); - MSG_task_send(MSG_task_create("notgrant", 0, 1000, NULL), req); - CS_used = 0; - todo--; - } + xbt_dynar_get_cpy(requests, (xbt_dynar_length(requests) - 1), &req); + if(strcmp(req, "2") == 0){ + xbt_dynar_pop(requests, &req); + MSG_task_send(MSG_task_create("grant", 0, 1000, NULL), req); + todo--; + }else{ + xbt_dynar_pop(requests, &req); + MSG_task_send(MSG_task_create("notgrant", 0, 1000, NULL), req); + CS_used = 0; + todo--; + } } else { // nobody wants it XBT_INFO("CS release. resource now idle"); CS_used = 0; @@ -132,7 +132,7 @@ int main(int argc, char *argv[]) xbt_new_propositional_symbol(a,"r", &predR); xbt_new_propositional_symbol(a,"cs", &predCS); - MSG_global_init(&argc, argv); + MSG_init(&argc, argv); MSG_create_environment("../msg_platform.xml"); MSG_function_register("coordinator", coordinator); MSG_function_register("client", client);