|
#pragma once
#include "qe.h"
/****************************************************************************
* class Queue
****************************************************************************/
class Queue {
public:
Queue() { queueHead = queueTail = emptyFiber = killFiber = NULL; }
public:
void appendToQueue(PQE qe);
PQE removeFromQueue();
public:
void next();
void yield();
public:
void kill();
public:
void SetEmptyFiber(PQE qe) { emptyFiber = qe; }
protected:
PQE queueHead;
PQE queueTail;
PQE emptyFiber;
PQE killFiber; // used to kill fibers
PQE killTarget;
protected:
static void CALLBACK killer(LPVOID p);
};
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.