- char mailbox_name[128];
- msg_task_t task = NULL;
- _XBT_GNUC_UNUSED int res;
- /* since the slaves will move around, use slave_%d as mailbox names instead of hostnames */
- xbt_assert(argc>=2, "slave processes need to be given their rank as parameter");
- sprintf(mailbox_name,"Slave_%s",argv[1]);
- XBT_INFO("Slave listenning on %s",argv[1]);
- while (1) {
- res = MSG_task_receive(&(task),mailbox_name);
- xbt_assert(res == MSG_OK, "MSG_task_get failed");
-
- XBT_INFO("Received \"%s\" from mailbox %s", MSG_task_get_name(task),mailbox_name);
+ xbt_assert(argc == 2, "need mbox in arguments");
+
+ char *mbox = argv[1];
+ const char *pr_name = MSG_process_get_name(MSG_process_self());
+ XBT_INFO("%s is listenning on mailbox(%s)", pr_name, mbox);
+
+ for (;;) {
+ msg_task_t task = NULL;
+
+ msg_error_t res = MSG_task_receive(&task, mbox);
+ if (res != MSG_OK) {
+ XBT_CRITICAL("MSG_task_get failed");
+ DIE_IMPOSSIBLE;
+ }
+
+ XBT_INFO("%s received task(%s) from mailbox(%s)",
+ pr_name, MSG_task_get_name(task), mbox);
+