X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ffe8ce65fd9a8e18a0469f26f067c3ea6d5d60d4..646748e03f0997e891f569963d0113e16bb63890:/src/mc/mc_server.h?ds=sidebyside diff --git a/src/mc/mc_server.h b/src/mc/mc_server.h index a8ea31bcb3..f5457e174c 100644 --- a/src/mc/mc_server.h +++ b/src/mc/mc_server.h @@ -4,19 +4,35 @@ /* 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. */ -#ifndef MC_SERVER_H -#define MC_SERVER_H +#ifndef SIMGRID_MC_SERVER_H +#define SIMGRID_MC_SERVER_H + +#include + +#include + +#include +#include #include +#include + +#include "mc/Process.hpp" +#include "mc_exit.h" SG_BEGIN_DECL() -#define MC_SERVER_ERROR 127 +#define MC_SERVER_ERROR SIMGRID_ERROR typedef struct s_mc_server s_mc_server_t, *mc_server_t; extern mc_server_t mc_server; +XBT_PRIVATE void MC_server_wait_client(simgrid::mc::Process* process); +XBT_PRIVATE void MC_server_simcall_handle(simgrid::mc::Process* process, unsigned long pid, int value); + +XBT_PRIVATE void MC_server_loop(mc_server_t server); + SG_END_DECL() #ifdef __cplusplus @@ -31,9 +47,9 @@ public: void start(); void shutdown(); void exit(); - void resume(mc_process_t process); + void resume(simgrid::mc::Process* process); void loop(); - void handle_events(); + bool handle_events(); protected: void handle_signals(); void handle_waitpid();