+/* Copyright (c) 2012-2015. The SimGrid Team.
+ * All rights reserved. */
+
+/* This program is free software; you can redistribute it and/or modify it
+ * under the terms of the license (GNU LGPL) which comes with this package. */
+
/***************************** Bugged2 ****************************************/
/* This example implements a centralized mutual exclusion algorithm. */
/* One client stay always in critical section */
/* LTL property checked : !(GFcs) */
/******************************************************************************/
-#include "msg/msg.h"
+#include "simgrid/msg.h"
#include "mc/mc.h"
#include "xbt/automaton.h"
#include "bugged2_liveness.h"
int cs = 0;
-int predCS(){
- return cs;
-}
-
-
int coordinator(int argc, char **argv);
int client(int argc, char **argv);
XBT_INFO("CS already used.");
msg_task_t answer = MSG_task_create("not grant", 0, 1000, NULL);
MSG_task_send(answer, req);
- MC_compare();
} else { // can serve it immediatly
XBT_INFO("CS idle. Grant immediatly");
msg_task_t answer = MSG_task_create("grant", 0, 1000, NULL);
int client(int argc, char *argv[])
{
int my_pid = MSG_process_get_PID(MSG_process_self());
- char *my_mailbox = bprintf("%s", argv[1]);
+ char *my_mailbox = xbt_strdup(argv[1]);
const char* kind;
while(1){
MSG_init(&argc, argv);
- MSG_config("model-check/property","promela_bugged2_liveness");
- MC_automaton_new_propositional_symbol("cs", &predCS);
+ MC_automaton_new_propositional_symbol_pointer("cs", &cs);
MSG_create_environment("../msg_platform.xml");
MSG_function_register("coordinator", coordinator);