From 571768af433b0fdc653f44b7dee0ad2dda6fe344 Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Wed, 27 Mar 2024 08:27:14 +0400 Subject: Make ipc_outputs Arc Mutex --- src/ipc/server.rs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src/ipc') diff --git a/src/ipc/server.rs b/src/ipc/server.rs index a1f3905b..102fcb94 100644 --- a/src/ipc/server.rs +++ b/src/ipc/server.rs @@ -1,8 +1,7 @@ -use std::cell::RefCell; use std::collections::HashMap; use std::os::unix::net::{UnixListener, UnixStream}; use std::path::PathBuf; -use std::rc::Rc; +use std::sync::{Arc, Mutex}; use std::{env, io, process}; use anyhow::Context; @@ -23,7 +22,7 @@ pub struct IpcServer { struct ClientCtx { event_loop: LoopHandle<'static, State>, - ipc_outputs: Rc>>, + ipc_outputs: Arc>>, } impl IpcServer { @@ -126,7 +125,7 @@ fn process(ctx: &ClientCtx, buf: &str) -> anyhow::Result { let response = match request { Request::Outputs => { - let ipc_outputs = ctx.ipc_outputs.borrow().clone(); + let ipc_outputs = ctx.ipc_outputs.lock().unwrap().clone(); Response::Outputs(ipc_outputs) } Request::Action(action) => { -- cgit