Bug 874210 - Fix pymake stack depth issues when many targets and prerequisites are present. r=gps

This commit is contained in:
Ziga Seilnacht 2013-11-08 09:03:19 -05:00
parent 2fb693668e
commit 353b709e0b
2 changed files with 2 additions and 10 deletions

View File

@ -17,15 +17,6 @@ if __name__ == '__main__':
gc.disable()
# This is meant as a temporary workaround until issues with many targets
# and prerequisites is addressed. Bug 874210 tracks.
#
# The default recursion limit for CPython is 1000.
try:
sys.setrecursionlimit(10000)
except Exception:
print >>sys.stderr, 'Unable to increase Python recursion limit.'
pymake.command.main(sys.argv[1:], os.environ, os.getcwd(), cb=sys.exit)
pymake.process.ParallelContext.spin()
assert False, "Not reached"

View File

@ -780,7 +780,8 @@ class RemakeTargetParallel(object):
return
self.currunning = True
self.rlist.pop(0).runcommands(self.indent, self.commandscb)
rule = self.rlist.pop(0)
self.makefile.context.defer(rule.runcommands, self.indent, self.commandscb)
def commandscb(self, error):
assert error in (True, False)