Skip to content

Instantly share code, notes, and snippets.

@lrowe
Forked from sigmavirus24/example.py
Last active August 29, 2015 14:24
Show Gist options
  • Save lrowe/581702c59869143dd6e2 to your computer and use it in GitHub Desktop.
Save lrowe/581702c59869143dd6e2 to your computer and use it in GitHub Desktop.
import gc
closed = False
def generator(iterable):
global closed
try:
for chunk in iterable:
yield chunk
except GeneratorExit:
print('generator exit')
finally:
print('closing')
closed = True
g = generator(range(5))
for i in g:
print('break: %r' % closed)
break
print('before del: %r' % closed)
del g
print('after del: %r' % closed)
print('before gc.collect: %r' % closed)
gc.collect()
print('after gc.collect: %r' % closed)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment