|
The Pedigree Project 0.1
|
#include <epoll-syscalls.h>
Inheritance diagram for EpollInstance:
Collaboration diagram for EpollInstance:Public Member Functions | |
| int | control (int operation, int targetFd, const LinuxEpollEvent *event) |
| int | wait (LinuxEpollEvent *events, int maxEvents, int timeoutMilliseconds) |
| ReadyMask | queryReady () |
Public Member Functions inherited from ReadinessSource | |
| MUST_USE_RESULT bool | subscribeReadiness (ReadyMask interest, const SharedPointer< ReadinessObserver > &observer, ReadinessSubscription &subscription) |
| virtual ReadinessGenerations | readinessGenerations () |
Private Member Functions | |
| EpollInstance (const EpollInstance &)=delete | |
| EpollInstance & | operator= (const EpollInstance &)=delete |
| int | collectEvents (LinuxEpollEvent *events, int maxEvents, bool consumeOneShot) |
| void | wakeWaiter () |
| void | sourceReadinessChanged (ReadyMask mask) |
Private Attributes | |
| EpollState * | m_State |
Friends | |
| class | EpollReadinessObserver |
Additional Inherited Members | |
Protected Member Functions inherited from ReadinessSource | |
| void | notifyReadiness (ReadyMask mask) |
| void | closeReadiness (ReadyMask mask=ReadyInvalid|ReadyHangup) |
One open epoll object, shared by dup aliases of its descriptor.
Definition at line 55 of file epoll-syscalls.h.
| EpollInstance::EpollInstance | ( | ) |
Definition at line 306 of file epoll-syscalls.cc.
|
override |
Definition at line 308 of file epoll-syscalls.cc.
|
private |
Definition at line 538 of file epoll-syscalls.cc.
| int EpollInstance::control | ( | int | operation, |
| int | targetFd, | ||
| const LinuxEpollEvent * | event | ||
| ) |
event is a kernel-owned snapshot for ADD and MOD, and null for DEL.
Definition at line 367 of file epoll-syscalls.cc.
References FileDescriptor::acquireOpenFileDescription(), List< T, nodePoolSize >::begin(), List< T, nodePoolSize >::end(), FileDescriptor::epollImpl, List< T, nodePoolSize >::erase(), SharedPointer< T >::get(), FileDescriptor::getStatusFlags(), List< T, nodePoolSize >::pushBack(), ReadinessSource::readinessGenerations(), ReadinessSource::subscribeReadiness(), and File::supportsReadinessNotifications().
| ReadyMask EpollInstance::queryReady | ( | ) |
Exposes the epoll object's current level to poll/select infrastructure.
Definition at line 595 of file epoll-syscalls.cc.
|
private |
Definition at line 335 of file epoll-syscalls.cc.
| int EpollInstance::wait | ( | LinuxEpollEvent * | events, |
| int | maxEvents, | ||
| int | timeoutMilliseconds | ||
| ) |
events is kernel-owned storage and is never retained after this call.
Definition at line 599 of file epoll-syscalls.cc.
References Semaphore::acquireWithError(), EMIT_IF, and Semaphore::tryAcquire().
|
private |
Definition at line 327 of file epoll-syscalls.cc.
|
friend |
Definition at line 70 of file epoll-syscalls.h.
|
private |
Definition at line 79 of file epoll-syscalls.h.