X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/6760cb07d6b57be16928d95339d71e57c4e24f36..2c8e75834bbb63acef15c560c3de978ab3cb6fbf:/src/simix/smx_process.c diff --git a/src/simix/smx_process.c b/src/simix/smx_process.c index f3096b92f5..3d080f26bf 100644 --- a/src/simix/smx_process.c +++ b/src/simix/smx_process.c @@ -164,7 +164,7 @@ void SIMIX_process_kill(smx_process_t process) } if (process->sem) { - xbt_swag_remove(process, process->sem->sleeping); + xbt_fifo_remove(process->sem->sleeping, process); if (process->waiting_action) { SIMIX_unregister_action_to_semaphore(process->waiting_action, process->sem); @@ -196,7 +196,7 @@ void SIMIX_process_kill(smx_process_t process) } if (process->sem) { - xbt_swag_remove(process, process->sem->sleeping); + xbt_fifo_remove(process->sem->sleeping, process); if (process->waiting_action) { SIMIX_unregister_action_to_semaphore(process->waiting_action, process->sem); @@ -297,7 +297,9 @@ XBT_INLINE xbt_dict_t SIMIX_process_get_properties(smx_process_t process) */ XBT_INLINE smx_process_t SIMIX_process_self(void) { - return simix_global ? simix_global->current_process : NULL; + if(simix_global) + return simix_global->current_process; + return NULL; } /** @@ -421,9 +423,11 @@ void SIMIX_process_resume(smx_process_t process) void SIMIX_process_change_host(smx_process_t process, char *source, char *dest) { + smx_host_t h1 = NULL; + smx_host_t h2 = NULL; xbt_assert0((process != NULL), "Invalid parameters"); - smx_host_t h1 = SIMIX_host_get_by_name(source); - smx_host_t h2 = SIMIX_host_get_by_name(dest); + h1 = SIMIX_host_get_by_name(source); + h2 = SIMIX_host_get_by_name(dest); process->smx_host = h2; xbt_swag_remove(process, h1->process_list); xbt_swag_insert(process, h2->process_list);