framework icon indicating copy to clipboard operation
framework copied to clipboard

RequestVar cleanup not being called when request ends

Open indrajitr opened this issue 12 years ago • 1 comments

Hi David,

Am reporting bug [[url:https://groups.google.com/forum/#!searchin/liftweb/noel/liftweb/1_7JAJwAfto/Ktjn_W_kDtAJ|as requested]].

My problem is that RequestVar cleanupFunc doesn't run at the end of each http request, which is resulting in a memory leak for my usage:

I'm using a RequestVar to provide a service which needs to be disposed of correctly when it is no longer needed, ie it is not advised to leave it to the garbage collector to tidy up. Therefore I registered the RequestVar to clean up after use via the registerCleanupFunc . However, the behaviour I'm seeing is that for the first use only (1st http request) the service is shutdown correctly. Any usages after this don't seem to be clean up properly, ie the lambda I passed to registerCleanupFunc isnt being called again.

Here is my code:

object HttpDispatchConnection extends RequestVar[Http](new Http%28%29) { registerCleanupFunc(ignore => is.shutdown()) }

indrajitr avatar Dec 13 '11 23:12 indrajitr

Imported from Assembla: http://www.assembla.com/spaces/liftweb/tickets/1160

github-importer avatar Feb 19 '12 21:02 github-importer