~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/decorators.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2011-05-26 08:47:44 UTC
  • mfrom: (5340.14.2 2.4-exc-info)
  • Revision ID: pqm@pqm.ubuntu.com-20110526084744-2bim0fu54g836qd2
(jameinel) Delete local 'exc_info' variables when they go out of scope,
 to avoid cycles with the exception tracebacks. (John A Meinel)

Show diffs side-by-side

added added

removed removed

Lines of Context:
109
109
        try:
110
110
            self.unlock()
111
111
        finally:
112
 
            raise exc_info[0], exc_info[1], exc_info[2]
 
112
            try:
 
113
                raise exc_info[0], exc_info[1], exc_info[2]
 
114
            finally:
 
115
                del exc_info
113
116
    else:
114
117
        self.unlock()
115
118
        return result
155
158
            try:
156
159
                self.unlock()
157
160
            finally:
158
 
                raise exc_info[0], exc_info[1], exc_info[2]
 
161
                try:
 
162
                    raise exc_info[0], exc_info[1], exc_info[2]
 
163
                finally:
 
164
                    del exc_info
159
165
        else:
160
166
            self.unlock()
161
167
            return result
177
183
        try:
178
184
            self.unlock()
179
185
        finally:
180
 
            raise exc_info[0], exc_info[1], exc_info[2]
 
186
            try:
 
187
                raise exc_info[0], exc_info[1], exc_info[2]
 
188
            finally:
 
189
                del exc_info
181
190
    else:
182
191
        self.unlock()
183
192
        return result
211
220
            try:
212
221
                self.unlock()
213
222
            finally:
214
 
                raise exc_info[0], exc_info[1], exc_info[2]
 
223
                try:
 
224
                    raise exc_info[0], exc_info[1], exc_info[2]
 
225
                finally:
 
226
                    del exc_info
215
227
        else:
216
228
            self.unlock()
217
229
            return result