Joedb
9.5.0
The Journal-Only Embedded Database
Loading...
Searching...
No Matches
src
joedb
journal
Journal_Construction_Lock.cpp
Go to the documentation of this file.
1
#include "
joedb/journal/Journal_Construction_Lock.h
"
2
3
namespace
joedb
4
{
5
////////////////////////////////////////////////////////////////////////////
6
Journal_Construction_Lock::Journal_Construction_Lock
7
////////////////////////////////////////////////////////////////////////////
8
(
9
Buffered_File
&file,
10
bool
ignore_errors
11
):
12
file(file),
13
ignore_errors(ignore_errors),
14
size(file.get_size())
15
{
16
if
(
file
.
is_readonly
())
17
file
.
shared_lock_head
();
18
else
19
{
20
if
(
file
.
is_shared
())
21
file
.
exclusive_lock_tail
();
22
file
.
exclusive_lock_head
();
23
}
24
}
25
26
////////////////////////////////////////////////////////////////////////////
27
Journal_Construction_Lock::~Journal_Construction_Lock
()
28
////////////////////////////////////////////////////////////////////////////
29
{
30
file
.
unlock_head
();
31
if
(
file
.
is_shared
())
32
file
.
unlock_tail
();
33
}
34
}
Journal_Construction_Lock.h
joedb::Buffered_File
Definition
Buffered_File.h:18
joedb::Buffered_File::exclusive_lock_tail
void exclusive_lock_tail()
Definition
Buffered_File.h:88
joedb::Buffered_File::is_shared
bool is_shared() const noexcept
Definition
Buffered_File.h:135
joedb::Buffered_File::shared_lock_head
void shared_lock_head()
Definition
Buffered_File.h:101
joedb::Buffered_File::unlock_head
void unlock_head() noexcept
Definition
Buffered_File.h:103
joedb::Buffered_File::exclusive_lock_head
void exclusive_lock_head()
Definition
Buffered_File.h:102
joedb::Buffered_File::is_readonly
bool is_readonly() const noexcept
Definition
Buffered_File.h:136
joedb::Buffered_File::unlock_tail
void unlock_tail() noexcept
Definition
Buffered_File.h:94
joedb::Journal_Construction_Lock::~Journal_Construction_Lock
~Journal_Construction_Lock()
Definition
Journal_Construction_Lock.cpp:27
joedb::Journal_Construction_Lock::file
Buffered_File & file
Definition
Journal_Construction_Lock.h:22
joedb::Journal_Construction_Lock::Journal_Construction_Lock
Journal_Construction_Lock(Buffered_File &file, bool ignore_errors=false)
Definition
Journal_Construction_Lock.cpp:8
joedb
Definition
Blob.h:7
Generated by
1.9.8