Skip to content

Commit 67a82f7

Browse files
committed
Ensure task arguments are supplied by block arguments not by captured locals
1 parent cab6395 commit 67a82f7

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

lib/concurrent/edge/future.rb

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -267,8 +267,8 @@ def ns_check_multiple_assignment(raise, reason = nil)
267267
end
268268
end
269269

270-
def pr_with_async(executor, &block)
271-
Concurrent.post_on(executor, &block)
270+
def pr_with_async(executor, *args, &block)
271+
Concurrent.post_on(executor, *args, &block)
272272
end
273273

274274
def pr_async_callback_on_completion(executor, callback)
@@ -469,11 +469,15 @@ def pr_call_callbacks(callbacks, success, value, reason)
469469
end
470470

471471
def pr_async_callback_on_success(success, value, reason, executor, callback)
472-
pr_with_async(executor) { pr_callback_on_success success, value, reason, callback }
472+
pr_with_async(executor, success, value, reason, callback) do |success, value, reason, callback|
473+
pr_callback_on_success success, value, reason, callback
474+
end
473475
end
474476

475477
def pr_async_callback_on_failure(success, value, reason, executor, callback)
476-
pr_with_async(executor) { pr_callback_on_failure success, value, reason, callback }
478+
pr_with_async(executor, success, value, reason, callback) do |success, value, reason, callback|
479+
pr_callback_on_failure success, value, reason, callback
480+
end
477481
end
478482

479483
def pr_callback_on_success(success, value, reason, callback)
@@ -493,7 +497,9 @@ def pr_notify_blocked(success, value, reason, promise)
493497
end
494498

495499
def pr_async_callback_on_completion(success, value, reason, executor, callback)
496-
pr_with_async(executor) { pr_callback_on_completion success, value, reason, callback }
500+
pr_with_async(executor, success, value, reason, callback) do |success, value, reason, callback|
501+
pr_callback_on_completion success, value, reason, callback
502+
end
497503
end
498504
end
499505

0 commit comments

Comments
 (0)