PPL Logo

FEM_lockN Class Reference

there is one fem_lock associated with every node (locks on elements are not required) More...

#include <fem_lock_node.h>

Collaboration diagram for FEM_lockN:

Collaboration graph
[legend]

Public Member Functions

 FEM_lockN ()
 FEM_lockN (int i, femMeshModify *mod)
 ~FEM_lockN ()
void reset (int i, femMeshModify *mod)
int rlock ()
int runlock ()
int wlock (int own)
int wunlock (int own)
bool haslocks ()
bool verifyLock (void)
int lockOwner ()
int getIdx ()
 FEM_lockN ()
 default constructor
 FEM_lockN (int i, femMeshModify *mod)
 constructor
 FEM_lockN (femMeshModify *mod)
 constructor
 ~FEM_lockN ()
 destructor
void pup (PUP::er &p)
 Pup routine for this object.
void setMeshModify (femMeshModify *mod)
 Set the femMeshModify object for this chunk.
int getIdx ()
 return the index of this node
void reset (int i, femMeshModify *mod)
 reset the data on this node
int rlock ()
 get a read lock
int runlock ()
 unlock a read lock
int wlock (int own)
 'own' chunk gets a write lock on this node
int wunlock (int own)
 unlock the write lock on this node by chunk 'own'
bool haslocks ()
 Are there any locks on this node.
bool verifyLock (void)
 verify if locks exist on this node
int lockOwner ()
 who owns this lock now

Private Attributes

int owner
 owner of the lock on this node
int pending
 Is there some operation waiting for this lock.
femMeshModifytheMod
int idx
 index of the node which this lock protects
int noreadLocks
 the number of read locks on this node
int nowriteLocks
 the number of write locks on this node
femMeshModifytheMod
 cross-pointer to the femMeshModify object on this chunk

Detailed Description

there is one fem_lock associated with every node (locks on elements are not required)

Definition at line 19 of file fem_lock_node.h.


Constructor & Destructor Documentation

FEM_lockN::FEM_lockN (  )  [inline]

Definition at line 27 of file fem_lock_node.h.

FEM_lockN::FEM_lockN ( int  i,
femMeshModify mod 
)

Definition at line 11 of file fem_lock_node.C.

References idx, noreadLocks, nowriteLocks, owner, pending, and theMod.

FEM_lockN::~FEM_lockN (  ) 

Definition at line 20 of file fem_lock_node.C.

FEM_lockN::FEM_lockN (  )  [inline]

default constructor

Definition at line 79 of file ParFUM_locking.h.

FEM_lockN::FEM_lockN ( int  i,
femMeshModify mod 
)

constructor

FEM_lockN::FEM_lockN ( femMeshModify mod  ) 

constructor

FEM_lockN::~FEM_lockN (  ) 

destructor


Member Function Documentation

void FEM_lockN::reset ( int  i,
femMeshModify mod 
)

Definition at line 24 of file fem_lock_node.C.

References haslocks(), idx, noreadLocks, nowriteLocks, owner, pending, theMod, and wunlock().

Here is the call graph for this function:

int FEM_lockN::rlock (  ) 

Definition at line 35 of file fem_lock_node.C.

References noreadLocks, and nowriteLocks.

Referenced by FEM_Modify_LockN().

Here is the caller graph for this function:

int FEM_lockN::runlock (  ) 

Definition at line 47 of file fem_lock_node.C.

References noreadLocks, and nowriteLocks.

Referenced by FEM_Modify_UnlockN().

Here is the caller graph for this function:

int FEM_lockN::wlock ( int  own  ) 

Definition at line 60 of file fem_lock_node.C.

References femMeshModify::idx, idx, noreadLocks, nowriteLocks, owner, and theMod.

Referenced by FEM_Modify_correctLockN(), FEM_Modify_LockAll(), and FEM_Modify_LockN().

Here is the caller graph for this function:

int FEM_lockN::wunlock ( int  own  ) 

Definition at line 93 of file fem_lock_node.C.

References femMeshModify::idx, idx, nowriteLocks, owner, and theMod.

Referenced by FEM_Modify_correctLockN(), FEM_Modify_LockUpdate(), FEM_Modify_UnlockN(), and reset().

Here is the caller graph for this function:

bool FEM_lockN::haslocks (  ) 

Definition at line 112 of file fem_lock_node.C.

References noreadLocks, and nowriteLocks.

Referenced by reset().

Here is the caller graph for this function:

bool FEM_lockN::verifyLock ( void   ) 

Definition at line 78 of file fem_lock_node.C.

References femMeshModify::fmMesh, IDXL_Side::getRec(), femMeshModify::idx, idx, FEM_Mesh::node, nowriteLocks, FEM_Node::shared, and theMod.

Referenced by FEM_Modify_LockN().

Here is the call graph for this function:

Here is the caller graph for this function:

int FEM_lockN::lockOwner (  ) 

Definition at line 119 of file fem_lock_node.C.

References noreadLocks, nowriteLocks, and owner.

Referenced by FEM_Modify_correctLockN(), and FEM_MUtil::getLockOwner().

Here is the caller graph for this function:

int FEM_lockN::getIdx (  )  [inline]

Definition at line 39 of file fem_lock_node.h.

References idx.

void FEM_lockN::pup ( PUP::er p  ) 

Pup routine for this object.

Definition at line 24 of file lock_node.C.

References idx, noreadLocks, nowriteLocks, owner, and pending.

void FEM_lockN::setMeshModify ( femMeshModify mod  ) 

Set the femMeshModify object for this chunk.

Definition at line 32 of file lock_node.C.

References theMod.

int FEM_lockN::getIdx (  )  [inline]

return the index of this node

Definition at line 92 of file ParFUM_locking.h.

References idx.

void FEM_lockN::reset ( int  i,
femMeshModify mod 
)

reset the data on this node

int FEM_lockN::rlock (  ) 

get a read lock

int FEM_lockN::runlock (  ) 

unlock a read lock

int FEM_lockN::wlock ( int  own  ) 

'own' chunk gets a write lock on this node

int FEM_lockN::wunlock ( int  own  ) 

unlock the write lock on this node by chunk 'own'

bool FEM_lockN::haslocks (  ) 

Are there any locks on this node.

bool FEM_lockN::verifyLock ( void   ) 

verify if locks exist on this node

int FEM_lockN::lockOwner (  ) 

who owns this lock now


Field Documentation

int FEM_lockN::owner [private]

owner of the lock on this node

Definition at line 20 of file fem_lock_node.h.

Referenced by FEM_lockN(), lockOwner(), pup(), reset(), wlock(), and wunlock().

Is there some operation waiting for this lock.

Definition at line 20 of file fem_lock_node.h.

Referenced by FEM_lockN(), pup(), and reset().

Definition at line 21 of file fem_lock_node.h.

Referenced by FEM_lockN(), reset(), setMeshModify(), verifyLock(), wlock(), and wunlock().

int FEM_lockN::idx [private]

index of the node which this lock protects

Definition at line 22 of file fem_lock_node.h.

Referenced by FEM_lockN(), getIdx(), pup(), reset(), verifyLock(), wlock(), and wunlock().

the number of read locks on this node

Definition at line 23 of file fem_lock_node.h.

Referenced by FEM_lockN(), haslocks(), lockOwner(), pup(), reset(), rlock(), runlock(), and wlock().

the number of write locks on this node

Definition at line 24 of file fem_lock_node.h.

Referenced by FEM_lockN(), haslocks(), lockOwner(), pup(), reset(), rlock(), runlock(), verifyLock(), wlock(), and wunlock().

cross-pointer to the femMeshModify object on this chunk

Definition at line 69 of file ParFUM_locking.h.


The documentation for this class was generated from the following files:

Generated on Mon Sep 21 08:24:18 2020 for Charm++ by  doxygen 1.5.5