start-jsk / rtmros_common

OpenRTM - ROS interoperability packages
http://wiki.ros.org/rtmros_common
12 stars 52 forks source link

rtmlalunch launches rtcd with execve #456

Open mmurooka opened 10 years ago

mmurooka commented 10 years ago

As mentioned in https://github.com/start-jsk/rtmros_gazebo/issues/35#issuecomment-42056875, rtmlaunch launches rtcd with execve.

Because of this, environment variables are not taken over to rtcd process.

Following is an example of strace log.

execve("/home/murooka/catkin_ws/ws_rtmros_common/devel/lib/openrtm_aist/bin/rtcd", ["/home/murooka/catkin_ws/ws_rtmro"..., "/home/murooka/catkin_ws/ws_rtmro"..., "-o", "manager.is_master:YES", "-o", "corba.nameservers:localhost:1500"..., "-o", "naming.formats:%n.rtc", "-o", "logger.file_name:/tmp/rtc%p.log", "-o", "exec_cxt.periodic.rate:200", "-o", "manager.shutdown_onrtcs:NO", "-o", "manager.modules.load_path:/home/"..., ...], [/* 87 vars */]) = 0
garaemon commented 10 years ago

Do you want to execute rtcd with execv rather than execve?

k-okada commented 10 years ago

if execv inherit current environment variables, yes.

On Wed, May 28, 2014 at 10:27 AM, Ryohei Ueda notifications@github.comwrote:

Do you want to execute rtcd with execv rather than execve?

— Reply to this email directly or view it on GitHubhttps://github.com/start-jsk/rtmros_common/issues/456#issuecomment-44355623 .

k-okada commented 10 years ago

@mmurooka, could you fix this?

k-okada commented 10 years ago

or should we leave this unchanged?

mmurooka commented 10 years ago

I looked at this problem a little bit.

Maybe this problem is not related to rtmlaunch. rtcd process is launched by tag at https://github.com/start-jsk/rtmros_common/blob/master/hrpsys_tools/launch/hrpsys.launch#L101-L104. I don't know why environment variable is not passed to rtcd process.