Skip to content

Commit 7029898

Browse files
committed
fix(selector): resolve device removal no-op
1 parent 1ccc571 commit 7029898

2 files changed

Lines changed: 13 additions & 1 deletion

File tree

src/evdev/selector.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ end
4040

4141
function Selector:remove(dev)
4242
validate_device("device", dev)
43-
local _, i = tbl_find(self._devices, dev)
43+
local i = tbl_find(self._devices, dev)
4444
if i then
4545
table.remove(self._devices, i)
4646
table.remove(self._handles, i)

tests/selector.test.lua

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,18 @@ describe("evdev.selector", function()
6565
sel:remove({}) ---@diagnostic disable-line
6666
end, "device: (evdev.Device expected)")
6767
end)
68+
69+
it("removes a registered device", function()
70+
local first = assert(Device("/dev/null"))
71+
local second = assert(Device("/dev/null"))
72+
local sel = Selector({ first, second })
73+
sel:remove(first)
74+
75+
local ready = assert(sel:poll())
76+
assert.Same({ second }, ready)
77+
first:close()
78+
second:close()
79+
end)
6880
end)
6981

7082
describe("clear()", function()

0 commit comments

Comments
 (0)