|
The Pedigree Project 0.1
|
Collaboration diagram for PosixTraceContext:Classes | |
| struct | OwnedRelation |
Public Member Functions | |
| bool | valid () const |
| void | attach (Process &) |
| TraceStatus | prepareTask (UniquePointer< PreparedTraceTask > &) |
| TraceStatus | publishTask (UniquePointer< PreparedTraceTask > &, Thread &) |
| bool | taskToken (const Thread &, TraceTaskRef &) const |
| void | setCreator (const TraceTaskRef &) |
| TraceTaskRef | creator () const |
| void | promoteExec (const Thread &) |
| void | retireTask (const Thread &) |
| void | close () |
| TraceStatus | reserveThreadCreation (TraceCloneAdmission &) |
| TraceStatus | reserveEnrollment (Thread &, TraceEnrollmentAdmission &) |
| TraceStatus | commitEnrollment (TraceEnrollmentAdmission &, const TraceRelationRef &) |
| TraceStatus | registerTracee (const TraceTaskRef &tracer, const TraceRelationRef &) |
| void | unregisterTracee (const PosixTraceRelation *) |
| void | clearIncoming (const PosixTraceRelation *) |
| bool | acquireIncoming (TraceRelationRef &empty) const |
| bool | selectStop (size_t parentPid, bool stopped, bool continued, bool consume, PosixWait::Report &) |
Private Member Functions | |
| PosixTraceContext (const PosixTraceContext &)=delete | |
| PosixTraceContext & | operator= (const PosixTraceContext &)=delete |
| TraceTaskRef | tokenUnlocked (size_t localId) const |
| bool | ownsTokenUnlocked (const TraceTaskRef &) const |
| void | finishThreadCreation () |
| void | cancelEnrollment () |
| bool | hasIncoming () const |
Private Attributes | |
| Mutex | m_AdmissionLock |
| Spinlock | m_RelationLock |
| bool | m_Attached = false |
| bool | m_Closed = false |
| size_t | m_ProcessId = 0 |
| size_t | m_ThreadCreations = 0 |
| bool | m_EnrollmentPending = false |
| PreparedTraceTask * | m_Tasks = nullptr |
| OwnedRelation * | m_Outgoing = nullptr |
| TraceTaskRef | m_Creator |
| TraceRelationRef | m_Incoming |
Friends | |
| class | TraceCloneAdmission |
| class | TraceEnrollmentAdmission |
Definition at line 56 of file trace-context.h.
| PosixTraceContext::~PosixTraceContext | ( | ) |
Definition at line 49 of file trace-context.cc.
| bool PosixTraceContext::acquireIncoming | ( | TraceRelationRef & | empty | ) | const |
Definition at line 156 of file trace-context.cc.
| void PosixTraceContext::attach | ( | Process & | process | ) |
Definition at line 59 of file trace-context.cc.
|
private |
Definition at line 59 of file trace-admission.cc.
| void PosixTraceContext::clearIncoming | ( | const PosixTraceRelation * | relation | ) |
Definition at line 180 of file trace-context.cc.
| void PosixTraceContext::close | ( | ) |
Definition at line 232 of file trace-context.cc.
| TraceStatus PosixTraceContext::commitEnrollment | ( | TraceEnrollmentAdmission & | admission, |
| const TraceRelationRef & | relation | ||
| ) |
Definition at line 65 of file trace-admission.cc.
| TraceTaskRef PosixTraceContext::creator | ( | ) | const |
Definition at line 138 of file trace-context.cc.
|
private |
Definition at line 30 of file trace-admission.cc.
|
private |
Definition at line 175 of file trace-context.cc.
|
private |
Definition at line 111 of file trace-context.cc.
| TraceStatus PosixTraceContext::prepareTask | ( | UniquePointer< PreparedTraceTask > & | result | ) |
Definition at line 67 of file trace-context.cc.
| void PosixTraceContext::promoteExec | ( | const Thread & | thread | ) |
Definition at line 143 of file trace-context.cc.
| TraceStatus PosixTraceContext::publishTask | ( | UniquePointer< PreparedTraceTask > & | prepared, |
| Thread & | thread | ||
| ) |
Definition at line 84 of file trace-context.cc.
| TraceStatus PosixTraceContext::registerTracee | ( | const TraceTaskRef & | tracer, |
| const TraceRelationRef & | relation | ||
| ) |
Definition at line 89 of file trace-admission.cc.
| TraceStatus PosixTraceContext::reserveEnrollment | ( | Thread & | thread, |
| TraceEnrollmentAdmission & | admission | ||
| ) |
Definition at line 36 of file trace-admission.cc.
| TraceStatus PosixTraceContext::reserveThreadCreation | ( | TraceCloneAdmission & | admission | ) |
Definition at line 18 of file trace-admission.cc.
| void PosixTraceContext::retireTask | ( | const Thread & | thread | ) |
Definition at line 189 of file trace-context.cc.
| bool PosixTraceContext::selectStop | ( | size_t | parentPid, |
| bool | stopped, | ||
| bool | continued, | ||
| bool | consume, | ||
| PosixWait::Report & | report | ||
| ) |
Definition at line 165 of file trace-context.cc.
| void PosixTraceContext::setCreator | ( | const TraceTaskRef & | token | ) |
Definition at line 132 of file trace-context.cc.
| bool PosixTraceContext::taskToken | ( | const Thread & | thread, |
| TraceTaskRef & | result | ||
| ) | const |
Definition at line 119 of file trace-context.cc.
|
private |
Definition at line 102 of file trace-context.cc.
| void PosixTraceContext::unregisterTracee | ( | const PosixTraceRelation * | relation | ) |
Definition at line 109 of file trace-admission.cc.
| bool PosixTraceContext::valid | ( | ) | const |
Definition at line 55 of file trace-context.cc.
|
friend |
Definition at line 83 of file trace-context.h.
|
friend |
Definition at line 84 of file trace-context.h.
|
mutableprivate |
Definition at line 96 of file trace-context.h.
|
private |
Definition at line 98 of file trace-context.h.
|
private |
Definition at line 98 of file trace-context.h.
|
private |
Definition at line 103 of file trace-context.h.
|
private |
Definition at line 100 of file trace-context.h.
|
private |
Definition at line 104 of file trace-context.h.
|
private |
Definition at line 102 of file trace-context.h.
|
private |
Definition at line 99 of file trace-context.h.
|
mutableprivate |
Definition at line 97 of file trace-context.h.
|
private |
Definition at line 101 of file trace-context.h.
|
private |
Definition at line 99 of file trace-context.h.