#include <fem_lock_node.h>
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. | |
femMeshModify * | theMod |
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 | |
femMeshModify * | theMod |
cross-pointer to the femMeshModify object on this chunk |
Definition at line 19 of file fem_lock_node.h.
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] |
FEM_lockN::FEM_lockN | ( | int | i, | |
femMeshModify * | mod | |||
) |
constructor
FEM_lockN::FEM_lockN | ( | femMeshModify * | mod | ) |
constructor
FEM_lockN::~FEM_lockN | ( | ) |
destructor
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().
int FEM_lockN::rlock | ( | ) |
Definition at line 35 of file fem_lock_node.C.
References noreadLocks, and nowriteLocks.
Referenced by FEM_Modify_LockN().
int FEM_lockN::runlock | ( | ) |
Definition at line 47 of file fem_lock_node.C.
References noreadLocks, and nowriteLocks.
Referenced by FEM_Modify_UnlockN().
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().
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().
bool FEM_lockN::haslocks | ( | ) |
Definition at line 112 of file fem_lock_node.C.
References noreadLocks, and nowriteLocks.
Referenced by reset().
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().
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().
int FEM_lockN::getIdx | ( | ) | [inline] |
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] |
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::lockOwner | ( | ) |
who owns this lock now
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().
int FEM_lockN::pending [private] |
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().
femMeshModify* FEM_lockN::theMod [private] |
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().
int FEM_lockN::noreadLocks [private] |
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().
int FEM_lockN::nowriteLocks [private] |
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().
femMeshModify* FEM_lockN::theMod [private] |
cross-pointer to the femMeshModify object on this chunk
Definition at line 69 of file ParFUM_locking.h.