# Struct os::task::task::TaskControlBlock

source · [−]

    pub struct TaskControlBlock {
        pub process: Weak<ProcessControlBlock>,
        pub kstack: KernelStack,
        pub inner: UPIntrFreeCell<TaskControlBlockInner>,
    }

## Fields

`process: Weak<ProcessControlBlock>` `kstack: KernelStack` `inner: UPIntrFreeCell<TaskControlBlockInner>`

## Implementations

source

### impl TaskControlBlock

source

#### pub fn inner_exclusive_access(&self) -> UPIntrRefMut<'_, TaskControlBlockInner>

source

#### pub fn get_user_token(&self) -> usize

source

### impl TaskControlBlock

source

#### pub fn new(
process: Arc<ProcessControlBlock>,
ustack_base: usize,
alloc_user_res: bool
) -> Self

## Auto Trait Implementations

### impl !RefUnwindSafe for TaskControlBlock

### impl Send for TaskControlBlock

### impl Sync for TaskControlBlock

### impl Unpin for TaskControlBlock

### impl !UnwindSafe for TaskControlBlock

## Blanket Implementations

source

### impl<T> Any for T where
T: 'static + ?Sized,

source

#### pub fn type_id(&self) -> TypeId

Gets the `TypeId` of `self`. Read more

source

### impl<T> Borrow<T> for T where
T: ?Sized,

source

#### pub fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more

source

### impl<T> BorrowMut<T> for T where
T: ?Sized,

source

#### pub fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more

source

### impl<T> From<T> for T

source

#### pub fn from(t: T) -> T

Performs the conversion.

source

### impl<T, U> Into<U> for T where
U: From<T>,

source

#### pub fn into(self) -> U

Performs the conversion.

source

### impl<T, U> TryFrom<U> for T where
U: Into<T>,

#### type Error = Infallible

The type returned in the event of a conversion error.

source

#### pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.

source

### impl<T, U> TryInto<U> for T where
U: TryFrom<T>,

#### type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

source

#### pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.