1"""SCons.exitfuncs 2 3Register functions which are executed when SCons exits for any reason. 4 5""" 6 7# 8# Copyright (c) 2001 - 2016 The SCons Foundation 9#10# Permission is hereby granted, free of charge, to any person obtaining11# a copy of this software and associated documentation files (the12# "Software"), to deal in the Software without restriction, including13# without limitation the rights to use, copy, modify, merge, publish,14# distribute, sublicense, and/or sell copies of the Software, and to15# permit persons to whom the Software is furnished to do so, subject to16# the following conditions:17#18# The above copyright notice and this permission notice shall be included19# in all copies or substantial portions of the Software.20#21# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY22# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE23# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND24# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE25# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION26# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION27# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.28#2930__revision__="src/engine/SCons/exitfuncs.py rel_2.5.1:3735:9dc6cee5c168 2016/11/03 14:02:02 bdbaddog"313233importatexit3435_exithandlers=[]

37"""run any registered exit functions3839 _exithandlers is traversed in reverse order so functions are executed40 last in, first out.41 """4243while_exithandlers:44func,targs,kargs=_exithandlers.pop()45func(*targs,**kargs)

48"""register a function to be executed upon normal program termination4950 func - function to be called at exit51 targs - optional arguments to pass to func52 kargs - optional keyword arguments to pass to func53 """54_exithandlers.append((func,targs,kargs))

555657# make our exit function get run by python when it exits58atexit.register(_run_exitfuncs)5960# Local Variables:61# tab-width:462# indent-tabs-mode:nil63# End:64# vim: set expandtab tabstop=4 shiftwidth=4:65