Skip to content

Commit b1e767b

Browse files
committed
Do not leak internal argument
1 parent efd8379 commit b1e767b

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

lib/concurrent/promises.rb

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -527,14 +527,14 @@ def state
527527

528528
# Is it in pending state?
529529
# @return [Boolean]
530-
def pending?(state = internal_state)
531-
!state.resolved?
530+
def pending?
531+
!internal_state.resolved?
532532
end
533533

534534
# Is it in resolved state?
535535
# @return [Boolean]
536-
def resolved?(state = internal_state)
537-
state.resolved?
536+
def resolved?
537+
internal_state.resolved?
538538
end
539539

540540
# Propagates touch. Requests all the delayed futures, which it depends on, to be
@@ -724,13 +724,13 @@ def add_callback_clear_delayed_node(node)
724724

725725
def add_callback(method, *args)
726726
state = internal_state
727-
if resolved?(state)
727+
if state.resolved?
728728
call_callback method, state, args
729729
else
730730
@Callbacks.push [method, args]
731731
state = internal_state
732732
# take back if it was resolved in the meanwhile
733-
call_callbacks state if resolved?(state)
733+
call_callbacks state if state.resolved?
734734
end
735735
self
736736
end
@@ -884,13 +884,15 @@ class Future < AbstractEventFuture
884884

885885
# Is it in fulfilled state?
886886
# @return [Boolean]
887-
def fulfilled?(state = internal_state)
887+
def fulfilled?
888+
state = internal_state
888889
state.resolved? && state.fulfilled?
889890
end
890891

891892
# Is it in rejected state?
892893
# @return [Boolean]
893-
def rejected?(state = internal_state)
894+
def rejected?
895+
state = internal_state
894896
state.resolved? && !state.fulfilled?
895897
end
896898

0 commit comments

Comments
 (0)