Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
model-checker : add ignore mechanism for global variables (data + bss segments) in...
[simgrid.git] / src / simix / smx_synchro.c
index e85bfe3..689576c 100644 (file)
@@ -96,21 +96,12 @@ static void SIMIX_synchro_finish(smx_action_t action)
   switch (action->state) {
 
     case SIMIX_SRC_TIMEOUT:
-      TRY {
-        THROWF(timeout_error, 0, "Synchro's wait timeout");
-      }
-      CATCH(simcall->issuer->running_ctx->exception) {
-        simcall->issuer->doexception = 1;
-      }
+      SMX_EXCEPTION(simcall->issuer, timeout_error, 0, "Synchro's wait timeout");
       break;
 
     case SIMIX_FAILED:
-      TRY {
-        THROWF(host_error, 0, "Host failed");
-      }
-      CATCH(simcall->issuer->running_ctx->exception) {
-        simcall->issuer->doexception = 1;
-      }
+        simcall->issuer->context->iwannadie = 1;
+//      SMX_EXCEPTION(simcall->issuer, host_error, 0, "Host failed");
       break;
 
     default:
@@ -119,6 +110,7 @@ static void SIMIX_synchro_finish(smx_action_t action)
   }
 
   SIMIX_synchro_stop_waiting(simcall->issuer, simcall);
+  simcall->issuer->waiting_action = NULL;
   SIMIX_synchro_destroy(action);
   SIMIX_simcall_answer(simcall);
   XBT_OUT();
@@ -184,8 +176,8 @@ int SIMIX_mutex_trylock(smx_mutex_t mutex, smx_process_t issuer)
 {
   XBT_IN("(%p, %p)",mutex,issuer);
   if (mutex->locked){
-         XBT_OUT();
-         return 0;
+    XBT_OUT();
+    return 0;
   }
 
   mutex->locked = 1;
@@ -210,8 +202,8 @@ void SIMIX_mutex_unlock(smx_mutex_t mutex, smx_process_t issuer)
 
   /* If the mutex is not owned by the issuer do nothing */
   if (issuer != mutex->owner){
-         XBT_OUT();
-         return;
+    XBT_OUT();
+    return;
   }
 
   if (xbt_swag_size(mutex->sleeping) > 0) {
@@ -402,7 +394,7 @@ void SIMIX_cond_destroy(smx_cond_t cond)
 /** @brief Initialize a semaphore */
 smx_sem_t SIMIX_sem_init(unsigned int value)
 {
-  XBT_IN("(%d)",value);
+  XBT_IN("(%u)",value);
   s_smx_process_t p;
 
   smx_sem_t sem = xbt_new0(s_smx_sem_t, 1);