X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b2b85b6a120b35b2d0a4c2cf433eadad15e79edc..9553ec877f1dc96e9b44fbac31d47773e40adae3:/examples/msg/mc/example_liveness_with_cycle.c diff --git a/examples/msg/mc/example_liveness_with_cycle.c b/examples/msg/mc/example_liveness_with_cycle.c index 8ec9725a46..80765b7203 100644 --- a/examples/msg/mc/example_liveness_with_cycle.c +++ b/examples/msg/mc/example_liveness_with_cycle.c @@ -1,7 +1,6 @@ /***************** Centralized Mutual Exclusion Algorithm *********************/ /* This example implements a centralized mutual exclusion algorithm. */ -/* There is no bug on it, it is just provided to test the state space */ -/* reduction of DPOR. */ +/* CS requests of client 2 not satisfied */ /******************************************************************************/ #include "msg/msg.h" @@ -12,7 +11,7 @@ #include "y.tab.c" #define AMOUNT_OF_CLIENTS 2 -#define CS_PER_PROCESS 3 +#define CS_PER_PROCESS 4 XBT_LOG_NEW_DEFAULT_CATEGORY(example_liveness_with_cycle, "my log messages"); @@ -80,17 +79,20 @@ int client(int argc, char *argv[]) int my_pid = MSG_process_get_PID(MSG_process_self()); char *my_mailbox = bprintf("%s", argv[1]); - // request the CS 3 times, sleeping a bit in between int i; - + + // request the CS 4 times, sleeping a bit in between for (i = 0; i < CS_PER_PROCESS; i++) { XBT_INFO("Ask the request"); MSG_task_send(MSG_task_create("request", 0, 1000, my_mailbox), "coordinator"); + if(strcmp(my_mailbox, "2") == 0){ p = 1; q = 0; + XBT_DEBUG("Propositions changed : p=1, q=0"); } + // wait the answer m_task_t grant = NULL; MSG_task_receive(&grant, my_mailbox); @@ -98,8 +100,10 @@ int client(int argc, char *argv[]) if(strcmp(my_mailbox, "2") == 0){ q = 1; p = 0; + XBT_DEBUG("Propositions changed : p=0, q=1"); } + MSG_task_destroy(grant); XBT_INFO("%s got the answer. Sleep a bit and release it", argv[1]); MSG_process_sleep(1); @@ -107,10 +111,12 @@ int client(int argc, char *argv[]) MSG_process_sleep(my_pid); - q=0; - p=0; + if(strcmp(my_mailbox, "2") == 0){ + q=0; + p=0; + XBT_DEBUG("Propositions changed : p=0, q=0"); + } - } XBT_INFO("Got all the CS I wanted (%s), quit now", my_mailbox); @@ -130,8 +136,7 @@ int main(int argc, char *argv[]) MSG_function_register("coordinator", coordinator); MSG_function_register("client", client); MSG_launch_application("deploy_mutex2.xml"); - MSG_main_liveness_stateless(automaton); - //MSG_main(); + MSG_main_liveness_stateless(automaton, argv[0]); return 0; }