Repository: ambari Updated Branches: refs/heads/trunk 316d33a9b -> ac4f3d11f
AMBARI-20070. Agent heartbeat loop stuck in subprocess.Popen (adoroszlai) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/ac4f3d11 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/ac4f3d11 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/ac4f3d11 Branch: refs/heads/trunk Commit: ac4f3d11f05637639638daf204cb9405ab9fe198 Parents: 316d33a Author: Attila Doroszlai <[email protected]> Authored: Mon Feb 20 10:40:26 2017 +0100 Committer: Attila Doroszlai <[email protected]> Committed: Mon Feb 20 10:40:26 2017 +0100 ---------------------------------------------------------------------- .../src/main/python/ambari_agent/main.py | 23 ++++++++++++++++++++ 1 file changed, 23 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/ac4f3d11/ambari-agent/src/main/python/ambari_agent/main.py ---------------------------------------------------------------------- diff --git a/ambari-agent/src/main/python/ambari_agent/main.py b/ambari-agent/src/main/python/ambari_agent/main.py index 6927b15..5ca89b3 100644 --- a/ambari-agent/src/main/python/ambari_agent/main.py +++ b/ambari-agent/src/main/python/ambari_agent/main.py @@ -42,6 +42,29 @@ def fix_subprocess_racecondition(): del sys.modules['gc'] import gc + +def fix_subprocess_popen(): + ''' + http://bugs.python.org/issue19809 + ''' + import os + import sys + + if os.name == 'posix' and sys.version_info[0] < 3: + import subprocess + import threading + + original_init = subprocess.Popen.__init__ + lock = threading.RLock() + + def locked_init(self, *a, **kw): + with lock: + original_init(self, *a, **kw) + + subprocess.Popen.__init__ = locked_init + + +fix_subprocess_popen() fix_subprocess_racecondition() fix_encoding_reimport_bug()
