From 3f70c585c22947c5d8e91bf9cd63187228e4ba5d Mon Sep 17 00:00:00 2001 From: Kunal Mohan Date: Thu, 29 Apr 2021 17:52:14 +0530 Subject: [PATCH] nit fixes --- src/common/os_input_output.rs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/common/os_input_output.rs b/src/common/os_input_output.rs index d8ef45f9..3f532741 100644 --- a/src/common/os_input_output.rs +++ b/src/common/os_input_output.rs @@ -180,7 +180,8 @@ impl IpcSenderWithContext { fn send(&mut self, msg: T) -> Result<(), std::io::Error> { let err_ctx = get_current_ctx(); self.sender - .write_all(&bincode::serialize(&(msg, err_ctx)).unwrap()) + .write_all(&bincode::serialize(&(msg, err_ctx)).unwrap())?; + self.sender.flush() } } @@ -404,7 +405,13 @@ impl ClientOsApi for ClientOsInputOutput { } } fn connect_to_server(&self) { - let socket = LocalSocketStream::connect(UNIQUE_ZELLIJ_IPC_PIPE.as_str()).unwrap(); + let socket = match LocalSocketStream::connect(UNIQUE_ZELLIJ_IPC_PIPE.as_str()) { + Ok(sock) => sock, + Err(_) => { + std::thread::sleep(std::time::Duration::from_millis(20)); + LocalSocketStream::connect(UNIQUE_ZELLIJ_IPC_PIPE.as_str()).unwrap() + } + }; let sock_fd = socket.as_raw_fd(); let dup_fd = unistd::dup(sock_fd).unwrap(); let receiver = unsafe { LocalSocketStream::from_raw_fd(dup_fd) };