lib/openwfe/expressions/fe_losfor.rb in openwferu-0.9.8 vs lib/openwfe/expressions/fe_losfor.rb in openwferu-0.9.9
- old
+ new
@@ -62,11 +62,11 @@
get_expression_pool.remove(self)
end
end
#
- # This method triggers its child (in its own thread) and then
+ # This expression triggers its child (in its own thread) and then
# forgets about it. It immediately replies to its parent expression.
#
class ForgetExpression < FlowExpression
names :forget
@@ -77,23 +77,24 @@
wi = workitem.dup
Thread.new do
begin
- #child = get_expression_pool.fetch(@children[0])
- #child.parent_id = nil
- get_expression_pool.forget(@children[0])
- get_expression_pool.apply(@children[0], wi)
+
+ child = @children[0]
+ get_expression_pool.forget(self, child)
+ get_expression_pool.apply(child, wi)
+
rescue Exception => e
lwarn do
"apply() failed to apply child to forget "+
OpenWFE::exception_to_s(e)
end
end
end
end
- reply_to_parent(wi)
+ reply_to_parent(workitem)
end
def reply (workitem)
# never gets called
end