@@ -87,7 +87,7 @@ def inner(*args, **kwds):
8787 return func (* args , ** kwds )
8888
8989 def gen_inner (* args , ** kwds ):
90- with self ._recreate_cm (), func (* args , ** kwds ) as gen :
90+ with self ._recreate_cm (), closing ( func (* args , ** kwds ) ) as gen :
9191 yield from gen
9292
9393 async def async_inner (* args , ** kwds ):
@@ -96,7 +96,7 @@ async def async_inner(*args, **kwds):
9696
9797 async def asyncgen_inner (* args , ** kwds ):
9898 with self ._recreate_cm ():
99- async with func (* args , ** kwds ) as gen :
99+ async with aclosing ( func (* args , ** kwds ) ) as gen :
100100 async for value in gen :
101101 yield value
102102
@@ -126,16 +126,19 @@ async def inner(*args, **kwds):
126126
127127 async def gen_inner (* args , ** kwds ):
128128 async with self ._recreate_cm ():
129- with func (* args , ** kwds ) as gen :
130- for value in func ( * args , ** kwds ) :
129+ with closing ( func (* args , ** kwds ) ) as gen :
130+ for value in gen :
131131 yield value
132132
133133 async def async_inner (* args , ** kwds ):
134134 async with self ._recreate_cm ():
135135 return await func (* args , ** kwds )
136136
137137 async def asyncgen_inner (* args , ** kwds ):
138- async with self ._recreate_cm (), func (* args , ** kwds ) as gen :
138+ async with (
139+ self ._recreate_cm (),
140+ aclosing (func (* args , ** kwds )) as gen
141+ ):
139142 async for value in gen :
140143 yield value
141144
0 commit comments