diff options
author | Ying Wang <wangying@google.com> | 2011-03-15 17:49:04 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-03-15 17:49:05 -0700 |
commit | 080ed92e77fc7c24ca3bac1a1dc06057390bfdb8 (patch) | |
tree | ef2c1c32fa388b8c20d2aeecb6efbb47587f98b8 /tools/releasetools/common.py | |
parent | be188cafd21c7356cc33ae042661b682d0536e8b (diff) | |
parent | f9bbfb577233bce7bb9a0ab7ec842074ce59e6e7 (diff) | |
download | build-080ed92e77fc7c24ca3bac1a1dc06057390bfdb8.zip build-080ed92e77fc7c24ca3bac1a1dc06057390bfdb8.tar.gz build-080ed92e77fc7c24ca3bac1a1dc06057390bfdb8.tar.bz2 |
Merge "Close inherited PIPE before doing work" into gingerbread
Diffstat (limited to 'tools/releasetools/common.py')
-rw-r--r-- | tools/releasetools/common.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tools/releasetools/common.py b/tools/releasetools/common.py index 74192f7..52e7aed 100644 --- a/tools/releasetools/common.py +++ b/tools/releasetools/common.py @@ -18,6 +18,7 @@ import getopt import getpass import imp import os +import platform import re import sha import shutil @@ -57,6 +58,22 @@ def Run(args, **kwargs): return subprocess.Popen(args, **kwargs) +def CloseInheritedPipes(): + """ Gmake in MAC OS has file descriptor (PIPE) leak. We close those fds + before doing other work.""" + if platform.system() != "Darwin": + return + for d in range(3, 1025): + try: + stat = os.fstat(d) + if stat is not None: + pipebit = stat[0] & 0x1000 + if pipebit != 0: + os.close(d) + except OSError: + pass + + def LoadInfoDict(zip): """Read and parse the META/misc_info.txt key/value pairs from the input target files and return a dict.""" |