Commit 55995827 authored by Lin Jen-Shin's avatar Lin Jen-Shin
Browse files

Use weakref to make sure not holding the project

parent 29c1fd8b
......@@ -346,7 +346,13 @@ class ApplicationController < ActionController::Base
def close_project_repository
return unless @project
project = @project
ObjectSpace.define_finalizer(self, lambda { project.reload_repository! })
project = WeakRef.new(@project)
ObjectSpace.define_finalizer(self,
lambda do
begin
project.reload_repository! if project.weakref_alive?
rescue WeakRef::RefError
end
end)
end
end
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment