X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/260f5b9677866b61cd6ada7c6516faefcfcd1989..5ed37babb2fa9097abe82df299c0aa259ed84d5a:/examples/smpi/mc/bugged1_liveness.c diff --git a/examples/smpi/mc/bugged1_liveness.c b/examples/smpi/mc/bugged1_liveness.c index 213c888a4e..0b215f9324 100644 --- a/examples/smpi/mc/bugged1_liveness.c +++ b/examples/smpi/mc/bugged1_liveness.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2013-2015. The SimGrid Team. +/* Copyright (c) 2013-2023. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -11,27 +11,34 @@ /******************************************************************************/ /* Run : - /usr/bin/time -f "clock:%e user:%U sys:%S swapped:%W exitval:%x max:%Mk" "$@" ../../../smpi_script/bin/smpirun -hostfile hostfile_bugged1_liveness -platform ../../platforms/cluster.xml --cfg=contexts/factory:ucontext --cfg=model-check/reduction:none --cfg=model-check/property:promela_bugged1_liveness --cfg=smpi/send-is-detached-thresh:0 --cfg=contexts/stack_size:128 --cfg=model-check/visited:100000 --cfg=model-check/max_depth:100000 ./bugged1_liveness */ + /usr/bin/time -f "clock:%e user:%U sys:%S swapped:%W exitval:%x max:%Mk" "$@" \ + ../../../smpi_script/bin/smpirun -hostfile hostfile_bugged1_liveness -platform ../../platforms/cluster_backbone.xml \ + --cfg=contexts/factory:ucontext --cfg=model-check/reduction:none \ + --cfg=model-check/property:promela_bugged1_liveness --cfg=smpi/send-is-detached-thresh:0 \ + --cfg=contexts/stack-size:128 --cfg=model-check/visited:100000 --cfg=model-check/max-depth:100000 ./bugged1_liveness +*/ #include #include #include +#include #define GRANT_TAG 0 #define REQUEST_TAG 1 #define RELEASE_TAG 2 -int r, cs; +int r; +int cs; int main(int argc, char **argv){ - int err, size, rank; + int size; + int rank; int recv_buff; MPI_Status status; - int CS_used = 0; xbt_dynar_t requests = xbt_dynar_new(sizeof(int), NULL); /* Initialize MPI */ - err = MPI_Init(&argc, &argv); + int err = MPI_Init(&argc, &argv); if(err != MPI_SUCCESS){ printf("MPI initialization failed !\n"); exit(1); @@ -40,7 +47,7 @@ int main(int argc, char **argv){ MC_automaton_new_propositional_symbol_pointer("r", &r); MC_automaton_new_propositional_symbol_pointer("cs", &cs); - MC_ignore(&(status.count), sizeof(status.count)); + MC_ignore(&status.count, sizeof status.count); /* Get number of processes */ MPI_Comm_size(MPI_COMM_WORLD, &size); @@ -48,6 +55,7 @@ int main(int argc, char **argv){ MPI_Comm_rank(MPI_COMM_WORLD, &rank); if(rank == 0){ /* Coordinator */ + int CS_used = 0; while(1){ MPI_Recv(&recv_buff, 1, MPI_INT, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, &status); if(status.MPI_TAG == REQUEST_TAG){ @@ -56,7 +64,7 @@ int main(int argc, char **argv){ xbt_dynar_push(requests, &recv_buff); }else{ if(recv_buff != size - 1){ - printf("CS idle. Grant immediatly.\n"); + printf("CS idle. Grant immediately.\n"); MPI_Send(&rank, 1, MPI_INT, recv_buff, GRANT_TAG, MPI_COMM_WORLD); CS_used = 1; }