Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
display correctly when processes are locked into a semaphore (forgot to augment this...
authormquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Thu, 4 Mar 2010 14:46:04 +0000 (14:46 +0000)
committermquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Thu, 4 Mar 2010 14:46:04 +0000 (14:46 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@7189 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/simix/smx_global.c

index 6daaf17..dffafbe 100644 (file)
@@ -135,6 +135,24 @@ void SIMIX_display_process_status(void)
         free(who);
         who = who2;
       }
         free(who);
         who = who2;
       }
+    } else if (process->sem) {
+      who2 =
+        bprintf
+        ("%s Blocked on semaphore %p; Waiting for the following actions:",
+         who,
+         (XBT_LOG_ISENABLED(simix_kernel, xbt_log_priority_verbose)) ?
+         process->sem : (void *) 0xdead);
+      free(who);
+      who = who2;
+      xbt_fifo_foreach(process->sem->actions, item, act, smx_action_t) {
+        who2 =
+          bprintf("%s '%s'(%p)", who, act->name,
+                  (XBT_LOG_ISENABLED(simix_kernel, xbt_log_priority_verbose))
+                  ? act : (void *) 0xdead);
+        free(who);
+        who = who2;
+      }
+
     } else {
       who2 =
         bprintf
     } else {
       who2 =
         bprintf