--- a/Cargo.toml
+++ b/Cargo.toml
@@ -45,7 +45,7 @@
 features = ["io_safety"]
 
 [dependencies.rustix]
-version = "0.38.37"
+version = "1"
 features = [
     "fs",
     "event",
--- a/src/tests/mod.rs
+++ b/src/tests/mod.rs
@@ -5,10 +5,13 @@
 use std::sync::{Arc, Mutex};
 use std::thread;
 
-use rustix::event::epoll;
+use rustix::buffer::spare_capacity;
+use rustix::event::epoll::{self, Event};
 use wayland_backend::server::ClientData;
 use wayland_server::{Display, ListeningSocket};
 
+type EventVec = Vec<Event>;
+
 mod copy;
 mod paste;
 mod state;
@@ -83,10 +86,10 @@
 
         while client_counter.0.load(SeqCst) > 0 || waiting_for_first_client {
             // Wait for requests from the client.
-            let mut events = epoll::EventVec::with_capacity(2);
-            epoll::wait(&self.epoll, &mut events, -1).unwrap();
+            let mut events = EventVec::with_capacity(2);
+            epoll::wait(&self.epoll, spare_capacity(&mut events), None).unwrap();
 
-            for event in &events {
+            for event in events.drain(..) {
                 match event.data.u64() {
                     0 => {
                         // Try to accept a new client.
