When the proc restarts, it calls orte_routed.init_routes. If you look in routed cm, you should see a call to "register_sync" - this is where the proc sends a message to the local daemon, allowing it to "learn" the port/address where the proc resides.

I've done this. I had a problem because when i called init_routes, i was setting only the orte_process_info.my_daemon value to the new one, but i forgot to set the orte_process_info.my_daemon_uri. So when in init_routes the orte_rml_base_parse_uris was called this resets the value to the old daemon, but now that's ok.

But i've got a little question about the sync. This allows the local daemon to learn about the new proc, but the other procs also learn about this? I mean, what happens if someone try to send a message to the restored process? This message is sent to his new location, or i will have to do something else to make this known to the others?

Thanks a lot for all your help.

Best regards.

Hugo