pub unsafe trait UserAddressSpaceOwner: Send + Sync {
// Required methods
fn prepare_activation(
&self,
cpu: usize,
) -> Result<SchedulerAddressSpaceActivation, TaskError>;
fn detach_from_task(&self);
}Expand description
OS ownership held by a runtime task token until its last CPU lease drains.
§Safety
Every prepared activation must own the declared root and publish its CPU in the MM’s TLB target set before returning. The root must remain valid until the activation is released. Detaching a task must retain storage needed by lazy CPUs; activation callbacks must not perform a final storage release.
Required Methods§
Sourcefn prepare_activation(
&self,
cpu: usize,
) -> Result<SchedulerAddressSpaceActivation, TaskError>
fn prepare_activation( &self, cpu: usize, ) -> Result<SchedulerAddressSpaceActivation, TaskError>
Acquires a CPU activation without allocation, blocking, or hardware I/O.
Sourcefn detach_from_task(&self)
fn detach_from_task(&self)
Drops task-scoped ownership in ordinary task context, exactly once.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".