libfoedus-core
FOEDUS Core Library
|
Per-thread reused work memory for system transactions. More...
Per-thread reused work memory for system transactions.
This object is a POD. It is maintained as part of ThreadPimpl for each thread.
System transactions are not exposed to users, so the whole file is _impl.
Definition at line 447 of file sysxct_impl.hpp.
#include <sysxct_impl.hpp>
Public Member Functions | |
void | init (thread::Thread *enclosing_thread) |
Public Attributes | |
bool | running_sysxct_ |
Whether we are already running a sysxct using this workspace. More... | |
char | pad1_ [7] |
thread::Thread * | thread_ |
Back pointer to the enclosing thread,. More... | |
char | pad2_ [48] |
SysxctLockList | lock_list_ |
Lock list for the system transaction. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &o, const SysxctWorkspace &v) |
|
inline |
Definition at line 462 of file sysxct_impl.hpp.
References ASSERT_ND, and foedus::xct::SysxctLockList::init().
Referenced by foedus::xct::Xct::initialize().
|
friend |
Definition at line 70 of file sysxct_impl.cpp.
SysxctLockList foedus::xct::SysxctWorkspace::lock_list_ |
Lock list for the system transaction.
In a separate cacheline
Definition at line 460 of file sysxct_impl.hpp.
Referenced by foedus::xct::operator<<(), foedus::xct::run_nested_sysxct_impl(), foedus::thread::ThreadPimpl::sysxct_batch_page_locks(), foedus::thread::ThreadPimpl::sysxct_batch_record_locks(), foedus::thread::ThreadPimpl::sysxct_page_lock(), and foedus::thread::ThreadPimpl::sysxct_record_lock().
char foedus::xct::SysxctWorkspace::pad1_[7] |
Definition at line 453 of file sysxct_impl.hpp.
char foedus::xct::SysxctWorkspace::pad2_[48] |
Definition at line 457 of file sysxct_impl.hpp.
bool foedus::xct::SysxctWorkspace::running_sysxct_ |
Whether we are already running a sysxct using this workspace.
We don't allow more than one sysxct using this workspace.
Definition at line 452 of file sysxct_impl.hpp.
Referenced by foedus::xct::operator<<(), foedus::xct::run_nested_sysxct_impl(), foedus::thread::ThreadPimpl::sysxct_batch_page_locks(), foedus::thread::ThreadPimpl::sysxct_batch_record_locks(), foedus::thread::ThreadPimpl::sysxct_page_lock(), and foedus::thread::ThreadPimpl::sysxct_record_lock().
thread::Thread* foedus::xct::SysxctWorkspace::thread_ |
Back pointer to the enclosing thread,.
Definition at line 456 of file sysxct_impl.hpp.