Skip to content

Commit 3d1d86b

Browse files
committed
use max value for WAKER_TOKEN
1 parent fe38b62 commit 3d1d86b

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

evdev/src/main/rust/evdev_manager/core/src/event_loop.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ use mio::{Events, Interest, Poll, Registry, Token, Waker};
1616
use slab::Slab;
1717
use std::collections::HashMap;
1818
use std::error::Error;
19-
use std::fmt;
19+
use std::{fmt, usize};
2020
use std::fs::read_dir;
2121
use std::io;
2222
use std::io::ErrorKind;
@@ -55,7 +55,7 @@ impl From<&DeviceIdentifier> for DeviceIdentifierKey {
5555

5656
static EVENT_LOOP_MANAGER: OnceLock<EventLoopManager> = OnceLock::new();
5757

58-
const WAKER_TOKEN: Token = Token(0);
58+
const WAKER_TOKEN: Token = Token(usize::MAX - 1);
5959

6060
pub struct EventLoopManager {
6161
stop_flag: Arc<AtomicBool>,
@@ -495,8 +495,7 @@ impl EventLoopThread {
495495

496496
fn on_poll_event(&self, event: &Event) {
497497
let Token(key) = event.token();
498-
// Subtract 1 because Token(0) is reserved
499-
let slab_key = key - 1;
498+
let slab_key = key;
500499

501500
let devices = self.grabbed_devices.read().unwrap();
502501

0 commit comments

Comments
 (0)