~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzr

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2007-02-16 06:48:35 UTC
  • mfrom: (2288.1.3 trivial)
  • Revision ID: pqm@pqm.ubuntu.com-20070216064835-76166d68f1750e11
(mbp,r=john,r=aaron) use os._exit from bzr script to quit faster and avoid thread kibble

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
#! /usr/bin/env python
2
2
 
3
 
# Copyright (C) 2005, 2006 Canonical Ltd
 
3
# Copyright (C) 2005, 2006, 2007 Canonical Ltd
4
4
#
5
5
# This program is free software; you can redistribute it and/or modify
6
6
# it under the terms of the GNU General Public License as published by
96
96
 
97
97
    if profiling:
98
98
        profile_imports.log_stack_info(sys.stderr)
99
 
    sys.exit(exit_val)
 
99
 
 
100
    # By this point we really have completed everything we want to do, and
 
101
    # there's no point doing any additional cleanup.  Abruptly exiting here
 
102
    # stops any background threads getting into trouble as code is unloaded,
 
103
    # and it may also be slightly faster, through avoiding gc of objects that
 
104
    # are just about to be discarded anyhow.  This does mean that atexit hooks
 
105
    # won't run but we don't use them.  Also file buffers won't be flushed,
 
106
    # but our policy is to always close files from a finally block. -- mbp 20070215
 
107
    sys.stdout.flush()
 
108
    # stderr isn't buffered
 
109
    os._exit(exit_val)
100
110
else:
101
111
    pass    # should this give an error? - it can't be used as a lib