Skip to content

Commit

Permalink
Merge branch 'master' into fix-ruby-backend
Browse files Browse the repository at this point in the history
  • Loading branch information
tarcieri committed May 26, 2015
2 parents 0cfd7ea + 6916eed commit a5ac873
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 6 deletions.
6 changes: 4 additions & 2 deletions lib/nio/monitor.rb
Expand Up @@ -16,8 +16,10 @@ def initialize(io, interests, selector)
fail TypeError, "can't convert #{io.class} into IO" unless io.is_a? IO
end

@io, @interests, @selector = io, interests, selector
@closed = false
@io = io
@interests = interests
@selector = selector
@closed = false
end

# Is the IO object readable?
Expand Down
3 changes: 2 additions & 1 deletion lib/nio/selector.rb
Expand Up @@ -49,7 +49,8 @@ def registered?(io)
# Select which monitors are ready
def select(timeout = nil)
@lock.synchronize do
readers, writers = [@wakeup], []
readers = [@wakeup]
writers = []

@selectables.each do |io, monitor|
readers << io if monitor.interests == :r || monitor.interests == :rw
Expand Down
3 changes: 2 additions & 1 deletion spec/nio/monitor_spec.rb
Expand Up @@ -30,7 +30,8 @@

it "knows what operations IO objects are ready for" do
# For whatever odd reason this breaks unless we eagerly evaluate subject
reader_monitor, writer_monitor = subject, peer
reader_monitor = subject
writer_monitor = peer

selected = selector.select(0)
expect(selected).not_to include(reader_monitor)
Expand Down
4 changes: 2 additions & 2 deletions spec/nio/selector_spec.rb
Expand Up @@ -117,7 +117,7 @@
context "select" do
it "selects IO objects" do
writer << "ohai"
unready, _ = IO.pipe
unready = IO.pipe.first

reader_monitor = subject.register(reader, :r)
unready_monitor = subject.register(unready, :r)
Expand Down Expand Up @@ -147,7 +147,7 @@
readable2, writer = IO.pipe
writer << "ohai"

unreadable, _ = IO.pipe
unreadable = IO.pipe.first

monitor1 = subject.register(readable1, :r)
monitor2 = subject.register(readable2, :r)
Expand Down

0 comments on commit a5ac873

Please sign in to comment.