+ gras_msgtype_by_name("_wakeup_listener");
+ XBT_DEBUG("I'm the listener");
+
+ /* get a free socket for the receiving part of the listener */
+ me->wakeup_sock_listener_side =NULL;
+ for (me->port = 5000; me->port < 6000; me->port++) {
+ TRY {
+ me->wakeup_sock_listener_side = gras_socket_server_ext(me->port, -1, 0);
+ }
+ CATCH(e) {
+ if (me->port == 6000)
+ RETHROW;
+ xbt_ex_free(e);
+ }
+ if (me->wakeup_sock_listener_side)
+ break;
+ }
+
+ /* wake up the launcher */
+ xbt_mutex_acquire(me->init_mutex);
+ xbt_cond_signal(me->init_cond);
+ xbt_mutex_release(me->init_mutex);
+
+ /* Main loop */