This check failed when selecting messages from a given host. It had to
be done even before entering this loop.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@5611
48e7efb5-ca39-0410-a469-
dd3cf9ba447f
SIMIX_mutex_lock(h->simdata->mutex);
SIMIX_mutex_lock(h->simdata->mutex);
+ if (MSG_mailbox_get_cond(mailbox)) {
+ CRITICAL1("A process is already blocked on the channel %s",
+ MSG_mailbox_get_alias(mailbox));
+ SIMIX_cond_display_info(MSG_mailbox_get_cond(mailbox));
+ xbt_die("Go fix your code!");
+ }
+
while (1) {
/* if the mailbox is empty (has no task */
if (!MSG_mailbox_is_empty(mailbox)) {
while (1) {
/* if the mailbox is empty (has no task */
if (!MSG_mailbox_is_empty(mailbox)) {
- if (MSG_mailbox_get_cond(mailbox)) {
- CRITICAL1("A process is already blocked on the channel %s",
- MSG_mailbox_get_alias(mailbox));
- SIMIX_cond_display_info(MSG_mailbox_get_cond(mailbox));
- xbt_die("Go fix your code!");
- }
-
cond = SIMIX_cond_init();
/* set the condition of the mailbox */
cond = SIMIX_cond_init();
/* set the condition of the mailbox */