aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Larson <chris_larson@mentor.com>2010-06-08 07:46:58 -0700
committerChris Larson <chris_larson@mentor.com>2010-06-10 11:35:01 -0700
commitf6ac2d399aae6c6aad9b24a96abc860229c4a603 (patch)
treec20f84342c0fdbfcfe06055b6f44659a23cca049
parent4d060ecf3da4ee27547e7456df1198a450461ab0 (diff)
downloadopenembedded-f6ac2d399aae6c6aad9b24a96abc860229c4a603.tar.gz
utils.bbclass: set close_fds=True by default for the popen helper
Signed-off-by: Chris Larson <chris_larson@mentor.com>
-rw-r--r--classes/relocatable.bbclass3
-rw-r--r--classes/utils.bbclass7
2 files changed, 7 insertions, 3 deletions
diff --git a/classes/relocatable.bbclass b/classes/relocatable.bbclass
index eb5b9e62ed..e4ababa57d 100644
--- a/classes/relocatable.bbclass
+++ b/classes/relocatable.bbclass
@@ -75,7 +75,8 @@ def process_dir (directory, d):
if len(new_rpaths):
args = ":".join(new_rpaths)
#bb.note("Setting rpath for %s to %s" %(fpath,args))
- sub.call([cmd, '-r', args, fpath])
+ oe_system(d, [cmd, '-r', args, fpath], shell=False,
+ stdout=open("/dev/null", "a"))
if perms:
os.chmod(fpath, perms)
diff --git a/classes/utils.bbclass b/classes/utils.bbclass
index 4e352e3b9c..64d6c231ec 100644
--- a/classes/utils.bbclass
+++ b/classes/utils.bbclass
@@ -61,13 +61,16 @@ def oe_popen(d, cmd, **kwargs):
d.setVar("__oe_popen_env", env)
kwargs["env"] = env
+ kwargs["close_fds"] = True
kwargs["preexec_fn"] = subprocess_setup
return Popen(cmd, **kwargs)
-def oe_system(d, cmd):
+def oe_system(d, cmd, **kwargs):
""" Popen based version of os.system. """
- return oe_popen(d, cmd, shell=True).wait()
+ if not "shell" in kwargs:
+ kwargs["shell"] = True
+ return oe_popen(d, cmd, **kwargs).wait()
# for MD5/SHA handling
def base_chk_load_parser(config_paths):