|
The Pedigree Project 0.1
|
#include <timerfd-syscalls.h>
Inheritance diagram for TimerFd:
Collaboration diagram for TimerFd:Public Member Functions | |
| TimerFd (int clock) | |
| int | readToUser (void *buffer, size_t count, bool canBlock) |
| int | readWithCopy (size_t count, bool canBlock, PosixDescriptorReadCopy copy, void *context) |
| ReadyMask | queryReady () |
| ReadinessGenerations | readinessGenerations () override |
| MUST_USE_RESULT bool | addDescriptorOwner () |
| void | removeDescriptorOwner () |
Public Member Functions inherited from ReadinessSource | |
| MUST_USE_RESULT bool | subscribeReadiness (ReadyMask interest, const SharedPointer< ReadinessObserver > &observer, ReadinessSubscription &subscription) |
Private Member Functions | |
| TimerFd (const TimerFd &)=delete | |
| TimerFd & | operator= (const TimerFd &)=delete |
| bool | readable () const |
| Time::Timestamp | now (const PosixClockSnapshot &clock) const |
| void | update (const PosixClockSnapshot &clock) |
| uint64_t | forward (PosixTimerState::State &state, Time::Timestamp current) const |
| void | service (uint64_t generation) |
| void | changed () |
| int | configure (int flags, Time::Timestamp value, Time::Timestamp interval, void *previous) |
| int | getTime (void *value) |
Private Attributes | |
| Mutex | m_Lock |
| ConditionVariable | m_Readers |
| PosixTimerState::State | m_State |
| ReadinessGenerations | m_Generations |
| uint64_t | m_Counter |
| uint64_t | m_ClockGeneration |
| size_t | m_DescriptorOwners |
| int | m_Clock |
| bool | m_Expired |
| bool | m_CancelOnSet |
| bool | m_CancelPending |
| bool | m_CancelWake |
| bool | m_AdmissionOpen |
Friends | |
| class | TimerFdService |
| int | posix_timerfd_settime (int, int, const void *, void *) |
| int | posix_timerfd_gettime (int, void *) |
Additional Inherited Members | |
Protected Member Functions inherited from ReadinessSource | |
| void | notifyReadiness (ReadyMask mask) |
| void | closeReadiness (ReadyMask mask=ReadyInvalid|ReadyHangup) |
Settings and unread expirations belong to the shared open description.
Definition at line 26 of file timerfd-syscalls.h.
|
explicit |
Definition at line 115 of file timerfd-syscalls.cc.
|
override |
Definition at line 130 of file timerfd-syscalls.cc.
| bool TimerFd::addDescriptorOwner | ( | ) |
Definition at line 346 of file timerfd-syscalls.cc.
|
private |
Definition at line 171 of file timerfd-syscalls.cc.
|
private |
Definition at line 262 of file timerfd-syscalls.cc.
|
private |
Definition at line 160 of file timerfd-syscalls.cc.
|
private |
Definition at line 307 of file timerfd-syscalls.cc.
|
private |
Definition at line 139 of file timerfd-syscalls.cc.
| ReadyMask TimerFd::queryReady | ( | ) |
Definition at line 334 of file timerfd-syscalls.cc.
|
private |
Definition at line 135 of file timerfd-syscalls.cc.
|
overridevirtual |
Return source-serialized rising-edge sequences where available.
A source increments the corresponding sequence while holding the same lock which changes its readiness predicate. Consumers can then recover a drain/refill transition even if the two callback deliveries are reordered.
Reimplemented from ReadinessSource.
Definition at line 341 of file timerfd-syscalls.cc.
| int TimerFd::readToUser | ( | void * | buffer, |
| size_t | count, | ||
| bool | canBlock | ||
| ) |
Definition at line 195 of file timerfd-syscalls.cc.
| int TimerFd::readWithCopy | ( | size_t | count, |
| bool | canBlock, | ||
| PosixDescriptorReadCopy | copy, | ||
| void * | context | ||
| ) |
Definition at line 199 of file timerfd-syscalls.cc.
| void TimerFd::removeDescriptorOwner | ( | ) |
Definition at line 355 of file timerfd-syscalls.cc.
|
private |
Definition at line 176 of file timerfd-syscalls.cc.
|
private |
Definition at line 143 of file timerfd-syscalls.cc.
|
friend |
Definition at line 418 of file timerfd-syscalls.cc.
|
friend |
Definition at line 392 of file timerfd-syscalls.cc.
|
friend |
Definition at line 39 of file timerfd-syscalls.h.
|
private |
Definition at line 67 of file timerfd-syscalls.h.
|
private |
Definition at line 64 of file timerfd-syscalls.h.
|
private |
Definition at line 65 of file timerfd-syscalls.h.
|
private |
Definition at line 66 of file timerfd-syscalls.h.
|
private |
Definition at line 62 of file timerfd-syscalls.h.
|
private |
Definition at line 60 of file timerfd-syscalls.h.
|
private |
Definition at line 59 of file timerfd-syscalls.h.
|
private |
Definition at line 61 of file timerfd-syscalls.h.
|
private |
Definition at line 63 of file timerfd-syscalls.h.
|
private |
Definition at line 58 of file timerfd-syscalls.h.
|
private |
Definition at line 55 of file timerfd-syscalls.h.
|
private |
Definition at line 56 of file timerfd-syscalls.h.
|
private |
Definition at line 57 of file timerfd-syscalls.h.