summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Merickel <michael@merickel.org>2021-01-20 00:45:33 -0600
committerGitHub <noreply@github.com>2021-01-20 00:45:33 -0600
commit68c84ae5aa2898251a07455e958fd0a11926d114 (patch)
treed899ef7a3cf3352ac3458c71400a81e26f43b3ce /src
parent074f4f3eeec94b133293c0d1d0fa81d681b08e37 (diff)
parent83cac719ea6095f23995465c5f35b0c48fed85e0 (diff)
downloadpyramid-68c84ae5aa2898251a07455e958fd0a11926d114.tar.gz
pyramid-68c84ae5aa2898251a07455e958fd0a11926d114.tar.bz2
pyramid-68c84ae5aa2898251a07455e958fd0a11926d114.zip
Merge pull request #3649 from luhn/context-break-cycles
Break reference cycle between request and context.
Diffstat (limited to 'src')
-rw-r--r--src/pyramid/router.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/pyramid/router.py b/src/pyramid/router.py
index 644a6a395..61660c41b 100644
--- a/src/pyramid/router.py
+++ b/src/pyramid/router.py
@@ -252,8 +252,12 @@ class Router:
return response
finally:
- if request.finished_callbacks:
- request._process_finished_callbacks()
+ self.finish_request(request)
+
+ def finish_request(self, request):
+ if request.finished_callbacks:
+ request._process_finished_callbacks()
+ request.__dict__.pop('context', None) # Break potential ref cycle
def __call__(self, environ, start_response):
"""