Converse Machine Layer
[Converse]

Collaboration diagram for Converse Machine Layer:

Common structures for all implementations of the machine layer. More...


Files

file  machine.c
 Elan machine layer.
file  persistent.c
 Elan persistent communication.
file  machine.c
 Exemplar machine layer.
file  machine.c
 MPI based machine layer.
file  machine.c
 Ncube2 machine layer.
file  machine.c
 Origin Pthreads machine layer.
file  machine.c
 Origin2000 machine layer.
file  machine.c
 Shared memory machine layer.
file  machine.c
 SP3 machine layer.
file  machine.c
 T3E machine layer.
file  machine.c
 User-level threads machine layer.
file  immediate.c
 Immediate message implementation.
file  machine-smp.c
 Common function reimplementation for SMP machines.
file  machine-smp.h
 structures for the SMP versions
file  machine.h
 common machine header
file  pcqueue.h
 Producer-Consumer Queues.
file  persist-comm.c
 Support for persistent communication setup.
file  persist_impl.h
 General implementation of persistent communication support.
file  machine.c
 VMI machine layer.
file  machine.h
 VMI machine layer.

Modules

 NET
 NET implementation of machine layer, ethernet in particular.

Data Structures

struct  CmiIdleLock
struct  CmiIdleLock
struct  CmiIdleLock
struct  CmiStateStruct
struct  CmiNodeStateStruct
struct  CmiMemorySMPSeparation_t
 This data type is at least one cache line of padding, used to avoid cache line thrashing on SMP systems. More...
struct  CircQueueStruct
struct  PCQueueStruct
struct  _PersistentRequestMsg
struct  _PersistentReqGrantedMsg
struct  _PersistentDestoryMsg
struct  _PersistentSendsTable
struct  _PersistentReceivesTable

Typedefs

typedef CmiStateStructCmiState
typedef CmiNodeStateStruct CmiNodeState
typedef CircQueueStructCircQueue
typedef PCQueueStructPCQueue
typedef _PersistentRequestMsg PersistentRequestMsg
typedef _PersistentReqGrantedMsg PersistentReqGrantedMsg
typedef _PersistentDestoryMsg PersistentDestoryMsg
typedef _PersistentSendsTable PersistentSendsTable
typedef _PersistentReceivesTable PersistentReceivesTable

Functions

void CmiPushImmediateMsg (void *msg)
void CmiDelayImmediate (void)
void CmiHandleImmediateMessage (void *msg)
void CmiHandleImmediate ()
void CmiStateInit (int pe, int rank, CmiState state)
void CommunicationServerInit ()
CmiState CmiGetState ()
CmiNodeLock CmiCreateLock (void)
void CmiDestroyLock (CmiNodeLock lk)
void CmiYield (void)
static DWORD WINAPI call_startfn (LPVOID vindex)
void CmiNodeBarrierCount (int nThreads)
static void CmiStartThreads (char **argv)
static void CmiDestoryLocks ()
void CmiCommLock (void)
void CmiCommUnlock (void)
static void * call_startfn (void *vindex)
void CmiNodeBarrier (void)
void CmiNodeAllBarrier (void)
static void CmiIdleLock_init (CmiIdleLock *l)
static void CmiIdleLock_sleep (CmiIdleLock *l, int msTimeout)
static void CmiIdleLock_addMessage (CmiIdleLock *l)
static void CmiIdleLock_checkMessage (CmiIdleLock *l)
static void getTimespec (int msFromNow, struct timespec *dest)
static void CmiIdleLock_wakeup (CmiIdleLock *l)
void CmiNodeStateInit (CmiNodeState *nodeState)
PCQueue PCQueueCreate (void)
int PCQueueEmpty (PCQueue Q)
int PCQueueLength (PCQueue Q)
char * PCQueuePop (PCQueue Q)
void initSendSlot (PersistentSendsTable *slot)
void swapSendSlotBuffers (PersistentSendsTable *slot)
void initRecvSlot (PersistentReceivesTable *slot)
void swapRecvSlotBuffers (PersistentReceivesTable *slot)
PersistentHandle getFreeSendSlot ()
PersistentHandle getFreeRecvSlot ()
PersistentHandle CmiCreatePersistent (int destPE, int maxBytes)
static void persistentRequestHandler (void *env)
static void persistentReqGrantedHandler (void *env)
PersistentReq CmiCreateReceiverPersistent (int maxBytes)
PersistentHandle CmiRegisterReceivePersistent (PersistentReq recvHand)
void persistentDestoryHandler (void *env)
void CmiDestoryPersistent (PersistentHandle h)
void CmiDestoryAllPersistent ()
void CmiPersistentInit ()
void CmiUsePersistentHandle (PersistentHandle *p, int n)
void * PerAlloc (int size)
void PerFree (char *msg)
void CmiSendPersistentMsg (PersistentHandle h, int destPE, int size, void *m)
int PumpPersistent ()
void setupRecvSlot (PersistentReceivesTable *slot, int maxBytes)

Variables

int _immediateReady = 0
int _immRunning = 0
static void * currentImmediateMsg = NULL
static struct CmiStateStruct Cmi_default_state
CmiNodeLock CmiMemLock_lock
static HANDLE comm_mutex
static DWORD Cmi_state_key = 0xFFFFFFFF
static CmiState Cmi_state_vector = 0
static volatile HANDLE barrier_mutex
static volatile int barrier_wait [2] = {0,0}
static volatile int barrier_which = 0
CmiNodeLock CmiMemLock_lock
int _Cmi_noprocforcommthread = 0
static __thread struct CmiStateStruct Cmi_mystate
static CmiStateCmi_state_vector
static pthread_key_t Cmi_state_key = (pthread_key_t)(-1)
static CmiState Cmi_state_vector
int barrier = 0
pthread_cond_t barrier_cond = PTHREAD_COND_INITIALIZER
pthread_mutex_t barrier_mutex = PTHREAD_MUTEX_INITIALIZER
static CmiNodeLock comm_mutex
static int comm_mutex_isLocked = 0
FILE * debugLog
int CircQueueStruct::push
int CircQueueStruct::pull
char * CircQueueStruct::data [PCQueueSize]
CircQueue PCQueueStruct::tail
int PCQueueStruct::len
CmiNodeLock PCQueueStruct::lock
PersistentSendsTable persistentSendsTable [TABLESIZE]
int persistentSendsTableCount = 0
PersistentReceivesTablepersistentReceivesTableHead
PersistentReceivesTablepersistentReceivesTableTail
int persistentReceivesTableCount = 0
int persistentRequestHandlerIdx
int persistentReqGrantedHandlerIdx
int persistentDestoryHandlerIdx
PersistentHandlephs = NULL
int phsSize
PersistentReceivesTablepersistentReceivesTableHead
PersistentReceivesTablepersistentReceivesTableTail
PersistentHandlephs
int phsSize

Detailed Description

Common structures for all implementations of the machine layer.

The machine layer of Converse consist of few common files to all architectures, shown in this module, which are:

These files describe the common characteristics of all implementations, and provide converse, and every language built on top of it the same functional interface in all machines, however different they are.

In addition to these common files, there are files called "machine.c" which are the real implementation for the different architectures. Every file is in a different directory, and get selected for compilation at compile time through the "build" script. With this implementation, only one single machine layer can be compiled into the runtime system. Changing architecture needs a different compilation.


Typedef Documentation

typedef struct CmiStateStruct * CmiState

typedef struct CmiNodeStateStruct CmiNodeState

typedef struct CircQueueStruct * CircQueue

typedef struct PCQueueStruct * PCQueue

typedef struct _PersistentRequestMsg PersistentRequestMsg

typedef struct _PersistentReqGrantedMsg PersistentReqGrantedMsg

typedef struct _PersistentDestoryMsg PersistentDestoryMsg

typedef struct _PersistentSendsTable PersistentSendsTable

typedef struct _PersistentReceivesTable PersistentReceivesTable


Function Documentation

void CmiPushImmediateMsg ( void *  msg  ) 

Definition at line 35 of file immediate.c.

References CmiLock(), and CmiUnlock().

Referenced by CmiHandleImmediate(), CmiPushNode(), CmiPushPE(), CommunicationServer(), and KillOnAllSigs().

void CmiDelayImmediate ( void   ) 

Definition at line 55 of file immediate.c.

References _immRunning, CQdCreate(), and currentImmediateMsg.

Referenced by _processForNodeBocMsg(), CldAskLoadHandler(), and CkNodeReductionMgr::RecvMsg().

void CmiHandleImmediateMessage ( void *  msg  ) 

Definition at line 72 of file immediate.c.

References _immRunning, CQdProcess(), CmiHandlerInfo::hdlr, and CmiHandlerInfo::userPtr.

Referenced by CmiHandleImmediate(), and CmiSendSelf().

void CmiHandleImmediate (  ) 

Definition at line 92 of file immediate.c.

References _immediateReady, _immRunning, CmiHandleImmediateMessage(), CmiPushImmediateMsg(), CmiTryLock(), CmiUnlock(), currentImmediateMsg, and PCQueuePop().

Referenced by CommunicationServer(), KillOnAllSigs(), and PumpMsgs().

void CmiStateInit ( int  pe,
int  rank,
CmiState  state 
)

Definition at line 580 of file machine-smp.c.

References CdsFifo_Create(), CmiIdleLock_init(), CmiStateStruct::idle, CmiStateStruct::localqueue, PCQueueCreate(), CmiStateStruct::pe, CmiStateStruct::rank, and CmiStateStruct::recv.

Referenced by call_startfn(), CmiStartThreads(), and KillOnAllSigs().

void CommunicationServerInit (  ) 

Definition at line 2758 of file convcore.c.

References CQdCpvInit().

Referenced by call_startfn(), and KillOnAllSigs().

CmiState CmiGetState (  ) 

Definition at line 103 of file machine-smp.c.

References Cmi_default_state, and Cmi_state_key.

Referenced by CmiAsyncBroadcastFn(), CmiFreeBroadcastAllFn(), CmiFreeSendFn(), CmiGetNonLocal(), CmiMyPe(), CmiMyRank(), CmiNotifyGetState(), CmiNotifyStillIdle(), CmiSyncBroadcastAllFn(), CmiSyncBroadcastFn(), CmiSyncSendFn(), CmiSyncSendFn1(), CmiSyncSendPersistent(), CommunicationServer(), ConverseRunPE(), ElanSendFn(), KillOnAllSigs(), PumpMsgsBlocking(), and SendSpanningChildren().

CmiNodeLock CmiCreateLock ( void   ) 

Definition at line 115 of file machine-smp.c.

References malloc().

Referenced by _initCharm(), bgMain(), CkNodeReductionMgr::CkNodeReductionMgr(), CldModuleGeneralInit(), CmiAmmassoOpenQueuePairs(), CmiNodeStateInit(), CmiStartThreads(), CommunicationServer(), ConverseInit(), CsdInit(), establishQPConnection(), CkArrayReductionMgr::init(), LBDatabase::initnodeFn(), KillOnAllSigs(), NodeGroup::NodeGroup(), PCQueueCreate(), CkArrayReductionMgr::pup(), and CkNodeReductionMgr::pup().

void CmiDestroyLock ( CmiNodeLock  lk  ) 

Definition at line 121 of file machine-smp.c.

References free().

Referenced by CmiMachineExit(), and NodeGroup::~NodeGroup().

void CmiYield ( void   ) 

Definition at line 126 of file machine-smp.c.

References sleep().

static DWORD WINAPI call_startfn ( LPVOID  vindex  )  [static]

Definition at line 154 of file machine-smp.c.

References _Cmi_mynodesize, Cmi_charmrun_fd, Cmi_state_key, Cmi_state_vector, CommunicationServerInit(), CommunicationServerThread(), ConverseRunPE(), and PerrorExit().

Referenced by CmiStartThreads().

void CmiNodeBarrierCount ( int  nThreads  ) 

Definition at line 184 of file machine-smp.c.

References barrier_mutex, barrier_wait, barrier_which, and sleep().

Referenced by CmiNodeAllBarrier(), and CmiNodeBarrier().

static void CmiStartThreads ( char **  argv  )  [static]

Definition at line 203 of file machine-smp.c.

References _Cmi_mynode, _Cmi_mynodesize, barrier_mutex, call_startfn(), calloc(), Cmi_commthread, Cmi_nodestart, Cmi_state_key, Cmi_state_vector, CmiCreateLock(), CmiMemLock_lock, CmiStateInit(), comm_mutex, and PerrorExit().

static void CmiDestoryLocks (  )  [static]

Definition at line 241 of file machine-smp.c.

References barrier_mutex, CmiMemLock_lock, and comm_mutex.

void CmiCommLock ( void   ) 

Definition at line 338 of file machine-smp.c.

References CmiAbort(), CmiLock(), and comm_mutex_isLocked.

Referenced by CmiLongSendQueue(), CommunicationsClockCaller(), CommunicationServer(), and KillOnAllSigs().

void CmiCommUnlock ( void   ) 

Definition at line 344 of file machine-smp.c.

References CmiAbort(), CmiUnlock(), and comm_mutex_isLocked.

Referenced by CmiLongSendQueue(), CommunicationsClockCaller(), CommunicationServer(), and KillOnAllSigs().

static void* call_startfn ( void *  vindex  )  [static]

Definition at line 368 of file machine-smp.c.

References _Cmi_mynode, _Cmi_mynodesize, Cmi_charmrun_fd, Cmi_mystate, Cmi_nodestart, Cmi_state_key, Cmi_state_vector, CmiStateInit(), CommunicationServer(), CommunicationServerInit(), and ConverseRunPE().

void CmiNodeBarrier ( void   ) 

Definition at line 453 of file machine-smp.c.

References CmiNodeBarrierCount().

Referenced by _initDone(), CkRestartMain(), ConverseExit(), ConverseRunPE(), and KillOnAllSigs().

void CmiNodeAllBarrier ( void   ) 

Definition at line 460 of file machine-smp.c.

References Cmi_commthread, and CmiNodeBarrierCount().

Referenced by _initCharm(), CmiBarrier(), CmiBarrierZero(), CmiInitCPUAffinity(), CmiTimerInit(), CommunicationServer(), CsdInit(), InitCallTable::enumerateInitCalls(), init_ranges(), and KillOnAllSigs().

static void CmiIdleLock_init ( CmiIdleLock l  )  [static]

Definition at line 480 of file machine-smp.c.

References CmiIdleLock::hasMessages, CmiIdleLock::isSleeping, and CmiIdleLock::sem.

Referenced by CmiStateInit().

static void CmiIdleLock_sleep ( CmiIdleLock l,
int  msTimeout 
) [static]

Definition at line 486 of file machine-smp.c.

References CmiIdleLock::hasMessages, CmiIdleLock::isSleeping, and CmiIdleLock::sem.

Referenced by CmiNotifyStillIdle(), and CommunicationServer().

static void CmiIdleLock_addMessage ( CmiIdleLock l  )  [static]

Definition at line 495 of file machine-smp.c.

References CmiIdleLock::hasMessages, CmiIdleLock::isSleeping, and CmiIdleLock::sem.

Referenced by CmiPushNode(), CmiPushPE(), and KillOnAllSigs().

static void CmiIdleLock_checkMessage ( CmiIdleLock l  )  [static]

Definition at line 502 of file machine-smp.c.

References CmiIdleLock::hasMessages.

Referenced by CmiGetNonLocal(), CommunicationServer(), and KillOnAllSigs().

static void getTimespec ( int  msFromNow,
struct timespec *  dest 
) [static]

Definition at line 515 of file machine-smp.c.

static void CmiIdleLock_wakeup ( CmiIdleLock l  )  [static]

Definition at line 550 of file machine-smp.c.

void CmiNodeStateInit ( CmiNodeState nodeState  ) 

Definition at line 591 of file machine-smp.c.

References CmiCreateLock(), CmiNodeStateStruct::CmiNodeRecvLock, CmiNodeStateStruct::delayedImmQ, CmiNodeStateStruct::immQ, CmiNodeStateStruct::immRecvLock, CmiNodeStateStruct::immSendLock, CmiNodeStateStruct::NodeRecv, and PCQueueCreate().

Referenced by CommunicationServer(), ConverseInit(), and KillOnAllSigs().

PCQueue PCQueueCreate ( void   ) 

Definition at line 112 of file pcqueue.h.

References calloc(), CmiCreateLock(), PCQueueStruct::head, PCQueueStruct::len, PCQueueStruct::lock, malloc(), and PCQueueStruct::tail.

Referenced by CmiNodeStateInit(), CmiStateInit(), CommunicationServer(), ConverseInit(), and initInfiCmiChunkPools().

int PCQueueEmpty ( PCQueue  Q  ) 

Definition at line 135 of file pcqueue.h.

References CircQueueStruct::data, data, PCQueueStruct::head, and CircQueueStruct::pull.

Referenced by CmiNotifyStillIdle(), CommunicationServer(), elan_CmiAlloc(), infi_CmiFree(), KillOnAllSigs(), MsgQueueEmpty(), PumpMsgsBlocking(), and RecvQueueEmpty().

int PCQueueLength ( PCQueue  Q  ) 

Definition at line 142 of file pcqueue.h.

References PCQueueStruct::len.

Referenced by CommunicationServer(), and infi_CmiFree().

char* PCQueuePop ( PCQueue  Q  ) 

Definition at line 147 of file pcqueue.h.

References calloc(), CmiLock(), CmiUnlock(), CircQueueStruct::data, data, free(), PCQueueStruct::head, PCQueueStruct::len, PCQueueStruct::lock, malloc(), CircQueueStruct::next, CircQueueStruct::pull, CircQueueStruct::push, and PCQueueStruct::tail.

Referenced by CmiGetNonLocal(), CmiHandleImmediate(), CommunicationServer(), elan_CmiAlloc(), infi_CmiFree(), and KillOnAllSigs().

void initSendSlot ( PersistentSendsTable slot  ) 

Definition at line 57 of file persist-comm.c.

References _PersistentSendsTable::destAddress, _PersistentSendsTable::destHandle, _PersistentSendsTable::destPE, _PersistentSendsTable::destSizeAddress, _PersistentSendsTable::messageBuf, _PersistentSendsTable::messageSize, _PersistentSendsTable::sizeMax, and _PersistentSendsTable::used.

Referenced by CmiDestoryAllPersistent(), CmiDestoryPersistent(), and CmiPersistentInit().

void swapSendSlotBuffers ( PersistentSendsTable slot  ) 

Definition at line 72 of file persist-comm.c.

References _PersistentSendsTable::destAddress, and _PersistentSendsTable::destSizeAddress.

Referenced by CmiSendPersistentMsg().

void initRecvSlot ( PersistentReceivesTable slot  ) 

Definition at line 84 of file persist-comm.c.

References _PersistentReceivesTable::messagePtr, _PersistentReceivesTable::next, _PersistentReceivesTable::prev, _PersistentReceivesTable::recvSizePtr, and _PersistentReceivesTable::sizeMax.

Referenced by getFreeRecvSlot().

void swapRecvSlotBuffers ( PersistentReceivesTable slot  ) 

Definition at line 95 of file persist-comm.c.

References _PersistentReceivesTable::messagePtr, and _PersistentReceivesTable::recvSizePtr.

Referenced by PumpPersistent().

PersistentHandle getFreeSendSlot (  ) 

Definition at line 107 of file persist-comm.c.

References CmiAbort(), persistentSendsTable, and persistentSendsTableCount.

Referenced by CmiCreatePersistent(), and CmiRegisterReceivePersistent().

PersistentHandle getFreeRecvSlot (  ) 

Definition at line 117 of file persist-comm.c.

References CmiAlloc(), initRecvSlot(), _PersistentReceivesTable::next, persistentReceivesTableCount, persistentReceivesTableHead, persistentReceivesTableTail, and _PersistentReceivesTable::prev.

Referenced by CmiCreateReceiverPersistent(), and persistentRequestHandler().

PersistentHandle CmiCreatePersistent ( int  destPE,
int  maxBytes 
)

Definition at line 150 of file persist-comm.c.

static void persistentRequestHandler ( void *  env  )  [static]

Definition at line 170 of file persist-comm.c.

References CmiAlloc(), CmiFree(), Converse::CmiSyncSendAndFree(), _PersistentReqGrantedMsg::destHandlerIndex, getFreeRecvSlot(), _PersistentRequestMsg::maxBytes, _PersistentReceivesTable::messagePtr, _PersistentReqGrantedMsg::msgAddr, persistentReqGrantedHandlerIdx, _PersistentReceivesTable::recvSizePtr, _PersistentRequestMsg::requestorPE, setupRecvSlot(), _PersistentReqGrantedMsg::slotFlagAddress, _PersistentRequestMsg::sourceHandlerIndex, and _PersistentReqGrantedMsg::sourceHandlerIndex.

Referenced by CmiPersistentInit().

static void persistentReqGrantedHandler ( void *  env  )  [static]

Definition at line 199 of file persist-comm.c.

References CmiSendPersistentMsg(), _PersistentSendsTable::destAddress, _PersistentSendsTable::destHandle, _PersistentReqGrantedMsg::destHandlerIndex, _PersistentSendsTable::destPE, _PersistentSendsTable::destSizeAddress, _PersistentSendsTable::messageBuf, _PersistentSendsTable::messageSize, _PersistentReqGrantedMsg::msgAddr, _PersistentReqGrantedMsg::slotFlagAddress, _PersistentReqGrantedMsg::sourceHandlerIndex, and _PersistentSendsTable::used.

Referenced by CmiPersistentInit().

PersistentReq CmiCreateReceiverPersistent ( int  maxBytes  ) 

Definition at line 224 of file persist-comm.c.

PersistentHandle CmiRegisterReceivePersistent ( PersistentReq  recvHand  ) 

Definition at line 245 of file persist-comm.c.

void persistentDestoryHandler ( void *  env  ) 

Definition at line 268 of file persist-comm.c.

References CmiFree(), _PersistentDestoryMsg::destHandlerIndex, _PersistentReceivesTable::messagePtr, _PersistentReceivesTable::next, PerFree(), persistentReceivesTableCount, persistentReceivesTableHead, persistentReceivesTableTail, and _PersistentReceivesTable::prev.

Referenced by CmiPersistentInit().

void CmiDestoryPersistent ( PersistentHandle  h  ) 

Definition at line 297 of file persist-comm.c.

References CmiAbort(), CmiAlloc(), Converse::CmiSyncSendAndFree(), _PersistentSendsTable::destHandle, _PersistentDestoryMsg::destHandlerIndex, _PersistentSendsTable::destPE, initSendSlot(), persistentDestoryHandlerIdx, and persistentSendsTableCount.

void CmiDestoryAllPersistent (  ) 

Definition at line 318 of file persist-comm.c.

References CmiFree(), CmiPrintf(), initSendSlot(), _PersistentReceivesTable::messagePtr, _PersistentReceivesTable::next, PerFree(), persistentReceivesTableCount, persistentReceivesTableHead, persistentReceivesTableTail, persistentSendsTable, persistentSendsTableCount, and _PersistentReceivesTable::recvSizePtr.

void CmiPersistentInit (  ) 

Definition at line 344 of file persist-comm.c.

void CmiUsePersistentHandle ( PersistentHandle p,
int  n 
)

Definition at line 365 of file persist-comm.c.

void* PerAlloc ( int  size  ) 

Definition at line 259 of file persistent.c.

References CmiAlloc(), and size.

Referenced by KillOnAllSigs(), and setupRecvSlot().

void PerFree ( char *  msg  ) 

Definition at line 264 of file persistent.c.

References elan_CmiStaticFree().

Referenced by CmiDestoryAllPersistent(), KillOnAllSigs(), and persistentDestoryHandler().

void CmiSendPersistentMsg ( PersistentHandle  h,
int  destPE,
int  size,
void *  m 
)

Definition at line 63 of file persistent.c.

References CmiAbort(), CmiFree(), CmiMyPe(), CmiPrintf(), Converse::CmiSyncSendAndFree(), _PersistentSendsTable::destAddress, _PersistentSendsTable::destPE, _PersistentSendsTable::destSizeAddress, elan_base, _PersistentSendsTable::messageBuf, _PersistentSendsTable::messageSize, phs, phsSize, size, _PersistentSendsTable::sizeMax, pmsg_list::strategy, swapSendSlotBuffers(), and _PersistentSendsTable::used.

Referenced by CmiSyncSendPersistent(), ElanSendFn(), KillOnAllSigs(), and persistentReqGrantedHandler().

int PumpPersistent (  ) 

Definition at line 204 of file persistent.c.

References CmiAlloc(), CmiPushPE(), CmiReference(), _PersistentReceivesTable::messagePtr, pmsg_list::msg, _PersistentReceivesTable::next, persistentReceivesTableHead, _PersistentReceivesTable::recvSizePtr, SendSpanningChildren(), size, status(), and swapRecvSlotBuffers().

Referenced by CommunicationServer(), KillOnAllSigs(), and PumpMsgs().

void setupRecvSlot ( PersistentReceivesTable slot,
int  maxBytes 
)

Definition at line 274 of file persistent.c.

References _PersistentReceivesTable::messagePtr, PerAlloc(), _PersistentReceivesTable::recvSizePtr, and _PersistentReceivesTable::sizeMax.

Referenced by CmiCreateReceiverPersistent(), KillOnAllSigs(), and persistentRequestHandler().


Variable Documentation

int _immediateReady = 0

Definition at line 15 of file immediate.c.

Referenced by CmiHandleImmediate(), CommunicationServer(), ConverseRunPE(), and KillOnAllSigs().

int _immRunning = 0

Definition at line 17 of file immediate.c.

Referenced by CmiDelayImmediate(), CmiHandleImmediate(), CmiHandleImmediateMessage(), CommunicationServer(), and KillOnAllSigs().

void* currentImmediateMsg = NULL [static]

Definition at line 25 of file immediate.c.

Referenced by CmiDelayImmediate(), and CmiHandleImmediate().

struct CmiStateStruct Cmi_default_state [static]