+ if(!xbt_dynar_is_empty(requests)){
+ printf("CS release. Grant to queued requests (queue size: %lu)", xbt_dynar_length(requests));
+ xbt_dynar_pop(requests, &recv_buff);
+ if(recv_buff != 1){
+ MPI_Send(&rank, 1, MPI_INT, recv_buff, GRANT_TAG, MPI_COMM_WORLD);
+ CS_used = 1;
+ }else{
+ xbt_dynar_push(requests, &recv_buff);
+ CS_used = 0;
+ }
+ }else{
+ printf("CS release. Resource now idle.\n");
+ CS_used = 0;
+ }