The Pedigree Project 0.1
Public Member Functions | Private Attributes | List of all members
UserspacePidNamespace Class Reference

#include <Process.h>

+ Collaboration diagram for UserspacePidNamespace:

Public Member Functions

 UserspacePidNamespace (const SharedPointer< UserspacePidNamespace > &parent={})
 
size_t allocate ()
 
const SharedPointer< UserspacePidNamespace > & parent () const
 
bool dead () const
 
void close ()
 
Process * init () const
 
void setInit (Process *process)
 
size_t depth () const
 

Private Attributes

SharedPointer< UserspacePidNamespace > m_Parent
 
Atomic< size_t > m_NextPid
 
Process * m_Init = nullptr
 
bool m_Dead = false
 

Detailed Description

PID allocation and lifetime are shared by a namespace and its descendants.

Definition at line 58 of file Process.h.

Constructor & Destructor Documentation

◆ UserspacePidNamespace()

UserspacePidNamespace::UserspacePidNamespace ( const SharedPointer< UserspacePidNamespace > &  parent = {})
inlineexplicit

Definition at line 60 of file Process.h.

Member Function Documentation

◆ allocate()

size_t UserspacePidNamespace::allocate ( )
inline

Definition at line 62 of file Process.h.

◆ close()

void UserspacePidNamespace::close ( )
inline

Definition at line 71 of file Process.h.

◆ dead()

bool UserspacePidNamespace::dead ( ) const
inline

Definition at line 68 of file Process.h.

◆ depth()

size_t UserspacePidNamespace::depth ( ) const
inline

Definition at line 80 of file Process.h.

◆ init()

Process * UserspacePidNamespace::init ( ) const
inline

Definition at line 74 of file Process.h.

◆ parent()

const SharedPointer< UserspacePidNamespace > & UserspacePidNamespace::parent ( ) const
inline

Definition at line 65 of file Process.h.

◆ setInit()

void UserspacePidNamespace::setInit ( Process *  process)
inline

Definition at line 77 of file Process.h.

Member Data Documentation

◆ m_Dead

bool UserspacePidNamespace::m_Dead = false
private

Definition at line 88 of file Process.h.

◆ m_Init

Process* UserspacePidNamespace::m_Init = nullptr
private

Definition at line 87 of file Process.h.

◆ m_NextPid

Atomic<size_t> UserspacePidNamespace::m_NextPid
private

Definition at line 86 of file Process.h.

◆ m_Parent

SharedPointer<UserspacePidNamespace> UserspacePidNamespace::m_Parent
private

Definition at line 85 of file Process.h.


The documentation for this class was generated from the following file: