File tree Expand file tree Collapse file tree 2 files changed +5
-12
lines changed Expand file tree Collapse file tree 2 files changed +5
-12
lines changed Original file line number Diff line number Diff line change @@ -109,6 +109,8 @@ def release(permits = 1)
109
109
end
110
110
111
111
# @!macro [attach] semaphore_method_reduce_permits
112
+ #
113
+ # @api private
112
114
#
113
115
# Shrinks the number of available permits by the indicated reduction.
114
116
#
@@ -123,10 +125,6 @@ def reduce_permits(reduction)
123
125
unless reduction . is_a? ( Fixnum ) && reduction >= 0
124
126
fail ArgumentError , 'reduction must be an non-negative integer'
125
127
end
126
- unless @free - reduction >= 0
127
- fail ( ArgumentError ,
128
- 'cannot reduce number of available_permits below zero' )
129
- end
130
128
@mutex . synchronize { @free -= reduction }
131
129
nil
132
130
end
@@ -211,10 +209,6 @@ def reduce_permits(reduction)
211
209
unless reduction . is_a? ( Fixnum ) && reduction >= 0
212
210
fail ArgumentError , 'reduction must be an non-negative integer'
213
211
end
214
- unless @semaphore . availablePermits - reduction >= 0
215
- fail ( ArgumentError ,
216
- 'cannot reduce number of available_permits below zero' )
217
- end
218
212
@semaphore . reducePermits ( reduction )
219
213
end
220
214
end
Original file line number Diff line number Diff line change 86
86
} . to raise_error ( ArgumentError )
87
87
end
88
88
89
- it 'raises ArgumentError when reducing below zero' do
90
- expect {
91
- semaphore . reduce_permits 1000
92
- } . to raise_error ( ArgumentError )
89
+ it 'reduces permits below zero' do
90
+ semaphore . reduce_permits 1003
91
+ expect ( semaphore . available_permits ) . to eq -1000
93
92
end
94
93
95
94
it 'reduces permits' do
You can’t perform that action at this time.
0 commit comments