DPCCallback
using BKernel::DPCCallback;
class DPCCallback : public DoublyLinkedListLinkImpl<DPCCallback> {
DPCCallback();
virtual ~DPCCallback();
class FunctionDPCCallback : public DPCCallback {
status_t Add(DPCCallback* callback);
bool Cancel(DPCCallback* callback);
typedef DoublyLinkedList<DPCCallback> CallbackList;
DPCCallback* fCallbackInProgress;
struct SignalEvent : UserEvent, private DPCCallback {
struct CreateThreadEvent : UserEvent, private DPCCallback {
DPCQueue::Add(DPCCallback* callback)
DPCCallback* callback = fUnusedFunctionCallbacks.RemoveHead();
DPCQueue::Cancel(DPCCallback* callback)
DPCCallback* callback = fCallbacks.RemoveHead();
DPCCallback::DPCCallback()
DPCCallback::~DPCCallback()
while (DPCCallback* callback = fUnusedFunctionCallbacks.RemoveHead())