diff --git a/kernel/src/fs/utils/channel.rs b/kernel/src/fs/utils/channel.rs index 407efcb75..f4efca68d 100644 --- a/kernel/src/fs/utils/channel.rs +++ b/kernel/src/fs/utils/channel.rs @@ -6,7 +6,7 @@ use aster_rights::{Read, ReadOp, TRights, Write, WriteOp}; use aster_rights_proc::require; use crate::{ - events::{IoEvents, Observer}, + events::IoEvents, prelude::*, process::signal::{PollHandle, Pollee}, util::{ @@ -98,22 +98,6 @@ macro_rules! impl_common_methods_for_channel { pub fn poll(&self, mask: IoEvents, poller: Option<&mut PollHandle>) -> IoEvents { self.this_end().pollee.poll(mask, poller) } - - pub fn register_observer( - &self, - observer: Weak>, - mask: IoEvents, - ) -> Result<()> { - self.this_end().pollee.register_observer(observer, mask); - Ok(()) - } - - pub fn unregister_observer( - &self, - observer: &Weak>, - ) -> Option>> { - self.this_end().pollee.unregister_observer(observer) - } }; } diff --git a/kernel/src/process/signal/poll.rs b/kernel/src/process/signal/poll.rs index 923d51b87..0c990993c 100644 --- a/kernel/src/process/signal/poll.rs +++ b/kernel/src/process/signal/poll.rs @@ -64,34 +64,6 @@ impl Pollee { poller.pollees.push(Arc::downgrade(&self.inner)); } - /// Register an IoEvents observer. - /// - /// A registered observer will get notified (through its `on_events` method) - /// every time new events specified by the `mask` argument happen on the - /// pollee (through the `add_events` method). - /// - /// If the given observer has already been registered, then its registered - /// event mask will be updated. - /// - /// Note that the observer will always get notified of the events in - /// `IoEvents::ALWAYS_POLL` regardless of the value of `mask`. - pub fn register_observer(&self, observer: Weak>, mask: IoEvents) { - let mask = mask | IoEvents::ALWAYS_POLL; - self.inner.subject.register_observer(observer, mask); - } - - /// Unregister an IoEvents observer. - /// - /// If such an observer is found, then the registered observer will be - /// removed from the pollee and returned as the return value. Otherwise, - /// a `None` will be returned. - pub fn unregister_observer( - &self, - observer: &Weak>, - ) -> Option>> { - self.inner.subject.unregister_observer(observer) - } - /// Add some events to the pollee's state. /// /// This method wakes up all registered pollers that are interested in