From 3b6f1627a8b0f15daab6b401b554c926e38db1ff Mon Sep 17 00:00:00 2001 From: JoeZane Date: Mon, 7 Apr 2025 03:34:50 +0800 Subject: [PATCH] upd: mem queue use assume call --- tipc/src/mem/mem_queue.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tipc/src/mem/mem_queue.rs b/tipc/src/mem/mem_queue.rs index 18bb85ba..0886729f 100644 --- a/tipc/src/mem/mem_queue.rs +++ b/tipc/src/mem/mem_queue.rs @@ -1,3 +1,4 @@ +use super::BuildType; use parking_lot::Mutex; use shared_memory::{Shmem, ShmemConf, ShmemError}; use std::marker::PhantomData; @@ -8,7 +9,6 @@ use std::{ mem::size_of, sync::atomic::{AtomicUsize, Ordering}, }; -use super::BuildType; #[repr(C)] struct _MemQueue { @@ -34,7 +34,7 @@ impl _MemQueue { fn try_read(&self) -> Option { if self.has_event() { let read = self.read_indicate.load(Ordering::Acquire); - let evt = unsafe { *(self.events[read % QUEUE_SIZE].as_ptr()) }; + let evt = unsafe { self.events[read % QUEUE_SIZE].assume_init_read() }; self.read_indicate .store(read.wrapping_add(1), Ordering::Release); Some(evt) @@ -47,7 +47,7 @@ impl _MemQueue { fn try_write(&mut self, evt: T) -> Result<(), MemQueueError> { if !self.is_full() { let write = self.write_indicate.load(Ordering::Acquire); - unsafe { std::ptr::write(self.events[write % QUEUE_SIZE].as_mut_ptr(), evt) }; + unsafe { std::ptr::write(self.events[write % QUEUE_SIZE].assume_init_mut(), evt) }; self.write_indicate .store(write.wrapping_add(1), Ordering::Release); Ok(())