From 6307b7c124221f426fba288c5988d583ac27de70 Mon Sep 17 00:00:00 2001 From: alegrand Date: Fri, 20 Nov 2009 09:59:00 +0000 Subject: [PATCH] Take into account "recent" simix modifications Namely, the use of semaphores for communications in SIMIX_process git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@6846 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- src/simix/smx_process.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/simix/smx_process.c b/src/simix/smx_process.c index b2ec5c1262..46058f0181 100644 --- a/src/simix/smx_process.c +++ b/src/simix/smx_process.c @@ -170,12 +170,22 @@ void SIMIX_process_kill(smx_process_t process) if (process->mutex) xbt_swag_remove(process, process->mutex->sleeping); - if (process->cond) + if (process->cond) { xbt_swag_remove(process, process->cond->sleeping); - if (process->waiting_action) { - SIMIX_unregister_action_to_condition(process->waiting_action, process->cond); - SIMIX_action_destroy(process->waiting_action); + if (process->waiting_action) { + SIMIX_unregister_action_to_condition(process->waiting_action, process->cond); + SIMIX_action_destroy(process->waiting_action); + } + } + + if (process->sem) { + xbt_swag_remove(process, process->sem->sleeping); + + if (process->waiting_action) { + SIMIX_unregister_action_to_semaphore(process->waiting_action, process->sem); + SIMIX_action_destroy(process->waiting_action); + } } } } -- 2.20.1