Back to index

lightning-sunbird  0.9+nobinonly
Classes | Defines | Typedefs | Enumerations
pprmwait.h File Reference
#include "prlock.h"
#include "prcvar.h"
#include "prclist.h"
#include "prthread.h"
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _PRWaiterHash
struct  PRWaitGroup
struct  _PRGlobalState
struct  PRMWaitEnumerator

Defines

#define MAX_POLLING_INTERVAL   100
#define _PR_POLL_COUNT_FUDGE   64
#define _PR_DEFAULT_HASH_LENGTH   59
#define _MW_HASH(a, m)   ((((PRUptrdiff)(a) >> 4) ^ ((PRUptrdiff)(a) >> 10)) % (m))
#define _MW_HASH2(a, m)   (1 + ((((PRUptrdiff)(a) >> 4) ^ ((PRUptrdiff)(a) >> 10)) % (m - 2)))
#define _MW_ABORTED(_rv)   ((PR_FAILURE == (_rv)) && (PR_PENDING_INTERRUPT_ERROR == PR_GetError()))

Typedefs

typedef struct _PRWaiterHash _PRWaiterHash
typedef struct _PRGlobalState _PRGlobalState

Enumerations

enum  _PR_HashStory { _prmw_success, _prmw_rehash, _prmw_error }
enum  PRMWGroupState { _prmw_running, _prmw_stopping, _prmw_stopped }
enum  _PREnumSeal { _PR_ENUM_UNSEALED = 0, _PR_ENUM_SEALED = 0x0eadface }

Class Documentation

struct _PRWaiterHash

Definition at line 64 of file pprmwait.h.

Collaboration diagram for _PRWaiterHash:
Class Members
PRUint16 count
PRUint16 length
PRRecvWait * recv_wait
struct PRWaitGroup

Definition at line 73 of file pprmwait.h.

Collaboration diagram for PRWaitGroup:
Class Members
PRCList group_link
PRCondVar * io_complete
PRCList io_ready
PRCondVar * io_taken
PRIntervalTime last_poll
PRLock * ml
PRCondVar * mw_manage
PRCondVar * new_business
PRUint32 p_timestamp
PRThread * poller
PRUint16 polling_count
PRPollDesc * polling_list
PRMWGroupState state
_PRWaiterHash * waiter
PRUint16 waiting_threads
struct _PRGlobalState

Definition at line 110 of file pprmwait.h.

Collaboration diagram for _PRGlobalState:
Class Members
PRWaitGroup * group
PRCList group_list
struct PRMWaitEnumerator

Definition at line 122 of file pprmwait.h.

Collaboration diagram for PRMWaitEnumerator:
Class Members
PRWaitGroup * group
PRUintn index
PRUint32 p_timestamp
void * pad
_PREnumSeal seal
PRThread * thread
PRRecvWait ** waiter

Define Documentation

#define _MW_ABORTED (   _rv)    ((PR_FAILURE == (_rv)) && (PR_PENDING_INTERRUPT_ERROR == PR_GetError()))

Definition at line 59 of file pprmwait.h.

#define _MW_HASH (   a,
  m 
)    ((((PRUptrdiff)(a) >> 4) ^ ((PRUptrdiff)(a) >> 10)) % (m))

Definition at line 57 of file pprmwait.h.

#define _MW_HASH2 (   a,
  m 
)    (1 + ((((PRUptrdiff)(a) >> 4) ^ ((PRUptrdiff)(a) >> 10)) % (m - 2)))

Definition at line 58 of file pprmwait.h.

Definition at line 49 of file pprmwait.h.

Definition at line 48 of file pprmwait.h.

Definition at line 47 of file pprmwait.h.


Typedef Documentation

typedef struct _PRWaiterHash _PRWaiterHash

Enumeration Type Documentation

Enumerator:
_prmw_success 
_prmw_rehash 
_prmw_error 

Definition at line 62 of file pprmwait.h.

Enumerator:
_PR_ENUM_UNSEALED 
_PR_ENUM_SEALED 

Definition at line 120 of file pprmwait.h.

Enumerator:
_prmw_running 
_prmw_stopping 
_prmw_stopped 

Definition at line 71 of file pprmwait.h.