diff options
author | Dan Gudmundsson <[email protected]> | 2014-02-12 14:50:49 +0100 |
---|---|---|
committer | Dan Gudmundsson <[email protected]> | 2014-02-20 12:38:51 +0100 |
commit | 70373f8cb0a3fe404c1e51e0ade0c98b83aa0014 (patch) | |
tree | 32fc44566f344b8d1b3196ee74902d6afb584a5c /lib/mnesia/src/mnesia_monitor.erl | |
parent | fdcdaca338849d7f63d4300e489318f6ee275d82 (diff) | |
download | otp-70373f8cb0a3fe404c1e51e0ade0c98b83aa0014.tar.gz otp-70373f8cb0a3fe404c1e51e0ade0c98b83aa0014.tar.bz2 otp-70373f8cb0a3fe404c1e51e0ade0c98b83aa0014.zip |
mnesia: Add explicit sync_log command
For performance reasons the file data is not synced to disk in mnesia,
data loss can happen between each dump.
mnesia:dump_log() can be used explicitly to ensure data is written to disk.
But that can take a long time, so mnesia:sync_log() which just
sync the log have been added.
Diffstat (limited to 'lib/mnesia/src/mnesia_monitor.erl')
-rw-r--r-- | lib/mnesia/src/mnesia_monitor.erl | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/mnesia/src/mnesia_monitor.erl b/lib/mnesia/src/mnesia_monitor.erl index c7b905a1bf..7b56613ad7 100644 --- a/lib/mnesia/src/mnesia_monitor.erl +++ b/lib/mnesia/src/mnesia_monitor.erl @@ -44,6 +44,7 @@ set_env/2, start/0, start_proc/4, + sync_log/1, terminate_proc/3, unsafe_close_dets/1, unsafe_close_log/1, @@ -118,6 +119,9 @@ open_log(Args) -> reopen_log(Name, Fname, Head) -> unsafe_call({reopen_log, Name, Fname, Head}). +sync_log(Name) -> + unsafe_call({sync_log, Name}). + close_log(Name) -> unsafe_call({close_log, Name}). @@ -382,6 +386,9 @@ handle_call({reopen_log, Name, Fname, Head}, _From, State) -> {noreply, State} end; +handle_call({sync_log, Name}, _From, State) -> + {reply, disk_log:sync(Name), State}; + handle_call({close_log, Name}, _From, State) -> case disk_log:close(Name) of ok -> |