+/**
+ * \brief Schedules all the process that are ready to run
+ */
+void MC_wait_for_requests(void)
+{
+ smx_req_t req = NULL;
+
+ do {
+ SIMIX_context_runall(simix_global->process_to_run);
+ while((req = SIMIX_request_pop())){
+ if(!MC_request_is_visible(req))
+ SIMIX_request_pre(req, 0);
+ }
+ } while (xbt_dynar_length(simix_global->process_to_run));
+}
+
+int MC_deadlock_check()
+{
+ int deadlock = FALSE;
+ smx_process_t process;
+ if(xbt_swag_size(simix_global->process_list)){
+ deadlock = TRUE;
+ xbt_swag_foreach(process, simix_global->process_list){
+ if(process->request.call != REQ_NO_REQ
+ && MC_request_is_enabled(&process->request)){
+ deadlock = FALSE;
+ break;
+ }
+ }
+ }
+ return deadlock;
+}
+