X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/76871aa367f5100a2ac974818c477dc46406bc73..37182aa1b48202ace407d6a0808c5494ebddbe85:/src/mc/ModelChecker.cpp diff --git a/src/mc/ModelChecker.cpp b/src/mc/ModelChecker.cpp index 20236555df..6aff9c463f 100644 --- a/src/mc/ModelChecker.cpp +++ b/src/mc/ModelChecker.cpp @@ -40,6 +40,12 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_ModelChecker, mc, "ModelChecker"); using simgrid::mc::remote; +#ifdef __linux__ +# define WAITPID_CHECKED_FLAGS __WALL +#else +# define WAITPID_CHECKED_FLAGS 0 +#endif + // Hardcoded index for now: #define SOCKET_FD_INDEX 0 #define SIGNAL_FD_INDEX 1 @@ -91,7 +97,7 @@ void ModelChecker::start() int status; // The model-checked process SIGSTOP itself to signal it's ready: - pid_t res = waitpid(pid, &status, __WALL); + pid_t res = waitpid(pid, &status, WAITPID_CHECKED_FLAGS); if (res < 0 || !WIFSTOPPED(status) || WSTOPSIG(status) != SIGSTOP) xbt_die("Could not wait model-checked process"); @@ -294,10 +300,10 @@ bool ModelChecker::handle_message(char* buffer, ssize_t size) return true; } -/** Terminate the model-checker aplication */ +/** Terminate the model-checker application */ void ModelChecker::exit(int status) { - // TODO, terminate the model checker politely instead of exiting rudel + // TODO, terminate the model checker politely instead of exiting rudely if (process().running()) kill(process().pid(), SIGKILL); ::exit(status);