refactor(eventloop): rename the thread

This commit is contained in:
Nova
2022-06-05 06:42:17 -04:00
parent 1d93046d5e
commit 0a446f3cd2

View File

@@ -1,4 +1,5 @@
use super::client::Client; use super::client::Client;
use anyhow::{anyhow, Result};
use libstardustxr::server; use libstardustxr::server;
use mio::net::UnixListener; use mio::net::UnixListener;
use mio::unix::pipe; use mio::unix::pipe;
@@ -8,8 +9,6 @@ use slab::Slab;
use std::io::Write; use std::io::Write;
use std::thread::{self, JoinHandle}; use std::thread::{self, JoinHandle};
use anyhow::Result;
pub struct EventLoop { pub struct EventLoop {
pub socket_path: String, pub socket_path: String,
join_handle: Option<JoinHandle<Result<()>>>, join_handle: Option<JoinHandle<Result<()>>>,
@@ -22,7 +21,9 @@ impl EventLoop {
.ok_or_else(|| std::io::Error::from(std::io::ErrorKind::Other))?; .ok_or_else(|| std::io::Error::from(std::io::ErrorKind::Other))?;
let mut socket = UnixListener::bind(socket_path.clone())?; let mut socket = UnixListener::bind(socket_path.clone())?;
let (sender, mut receiver) = pipe::new()?; let (sender, mut receiver) = pipe::new()?;
let join_handle = Some(thread::spawn(move || -> Result<()> { let join_handle = thread::Builder::new()
.name("event_loop".to_owned())
.spawn(move || -> Result<()> {
let mut clients: Slab<Option<RcCell<Client>>> = Slab::new(); let mut clients: Slab<Option<RcCell<Client>>> = Slab::new();
let mut poll = Poll::new()?; let mut poll = Poll::new()?;
let mut events = Events::with_capacity(1024); let mut events = Events::with_capacity(1024);
@@ -78,7 +79,8 @@ impl EventLoop {
} }
} }
} }
})); })
.ok();
Ok(EventLoop { Ok(EventLoop {
socket_path, socket_path,
join_handle, join_handle,
@@ -94,8 +96,7 @@ impl Drop for EventLoop {
let _ = self let _ = self
.join_handle .join_handle
.take() .take()
.unwrap() .map(|handle| handle.join())
.join()
.expect("Couldn't join the event loop thread at drop"); .expect("Couldn't join the event loop thread at drop");
} }
} }