X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/28fd49f9900e7a8424f38cafd21682f8c732ed42..e6bd520dd999137c9f9bf3968e4764d82c948314:/src/simix/smx_synchro.c diff --git a/src/simix/smx_synchro.c b/src/simix/smx_synchro.c index d09b4163f9..689576cc1b 100644 --- a/src/simix/smx_synchro.c +++ b/src/simix/smx_synchro.c @@ -100,7 +100,8 @@ static void SIMIX_synchro_finish(smx_action_t action) break; case SIMIX_FAILED: - SMX_EXCEPTION(simcall->issuer, host_error, 0, "Host failed"); + simcall->issuer->context->iwannadie = 1; +// SMX_EXCEPTION(simcall->issuer, host_error, 0, "Host failed"); break; default: @@ -109,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(); @@ -174,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; @@ -200,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) { @@ -392,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);