diff --git a/input-emulation/src/libei.rs b/input-emulation/src/libei.rs index 6e3cb20..3e4b749 100644 --- a/input-emulation/src/libei.rs +++ b/input-emulation/src/libei.rs @@ -108,7 +108,6 @@ impl LibeiEmulation { let stream = UnixStream::from(eifd); stream.set_nonblocking(true)?; let context = ei::Context::new(stream)?; - context.flush().map_err(|e| io::Error::new(e.kind(), e))?; let mut events = EiEventStream::new(context.clone())?; let handshake = ei_handshake( &mut events, diff --git a/src/server.rs b/src/server.rs index 02a78ed..3881b87 100644 --- a/src/server.rs +++ b/src/server.rs @@ -152,7 +152,7 @@ impl Server { // create dns resolver let resolver = DnsResolver::new().await?; - let resolver = resolver_task::new(resolver, dns_rx, self.clone(), frontend_tx); + let resolver = resolver_task::new(self.clone(), resolver, dns_rx, frontend_tx); // frontend listener let frontend = frontend_task::new( diff --git a/src/server/frontend_task.rs b/src/server/frontend_task.rs index a430aa4..d588dc9 100644 --- a/src/server/frontend_task.rs +++ b/src/server/frontend_task.rs @@ -35,14 +35,14 @@ pub(crate) fn new( resolve_ch: Sender, port_tx: Sender, ) -> JoinHandle<()> { - let request = request_tx.clone(); + let request_tx = request_tx.clone(); tokio::task::spawn_local(async move { let mut join_handles = vec![]; loop { tokio::select! { stream = frontend.accept() => { match stream { - Ok(s) => join_handles.push(handle_frontend_stream(server.clone(), &request, s)), + Ok(s) => join_handles.push(handle_frontend_stream(server.clone(), &request_tx, s)), Err(e) => log::warn!("error accepting frontend connection: {e}"), }; } diff --git a/src/server/resolver_task.rs b/src/server/resolver_task.rs index f90ed1d..454f3c8 100644 --- a/src/server/resolver_task.rs +++ b/src/server/resolver_task.rs @@ -16,9 +16,9 @@ pub struct DnsRequest { } pub fn new( + server: Server, resolver: DnsResolver, dns_rx: Receiver, - server: Server, frontend: Sender, ) -> JoinHandle<()> { tokio::task::spawn_local(async move {