aboutsummaryrefslogtreecommitdiffstats
path: root/lib/snmp/src/agent/snmpa_mib.erl
diff options
context:
space:
mode:
authorMicael Karlberg <[email protected]>2012-02-06 14:30:20 +0100
committerMicael Karlberg <[email protected]>2012-02-06 14:30:20 +0100
commit2d97f0e5f13bf22d92dbc6df18787581eb462c41 (patch)
treebac265730b859dc87f0467464be4cd142098c4ef /lib/snmp/src/agent/snmpa_mib.erl
parentab2ba6f1b0713fbe5c78f67aeefb73ffc006e995 (diff)
parent0c9547c384ba9d299d4a73bdf2a514c2b47128cd (diff)
downloadotp-2d97f0e5f13bf22d92dbc6df18787581eb462c41.tar.gz
otp-2d97f0e5f13bf22d92dbc6df18787581eb462c41.tar.bz2
otp-2d97f0e5f13bf22d92dbc6df18787581eb462c41.zip
Merge branch 'maint-r15' into maint
Conflicts: erts/vsn.mk
Diffstat (limited to 'lib/snmp/src/agent/snmpa_mib.erl')
-rw-r--r--lib/snmp/src/agent/snmpa_mib.erl14
1 files changed, 11 insertions, 3 deletions
diff --git a/lib/snmp/src/agent/snmpa_mib.erl b/lib/snmp/src/agent/snmpa_mib.erl
index ce90db18b3..574467d38f 100644
--- a/lib/snmp/src/agent/snmpa_mib.erl
+++ b/lib/snmp/src/agent/snmpa_mib.erl
@@ -1,7 +1,7 @@
%%
%% %CopyrightBegin%
%%
-%% Copyright Ericsson AB 1996-2010. All Rights Reserved.
+%% Copyright Ericsson AB 1996-2012. All Rights Reserved.
%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
@@ -552,8 +552,12 @@ handle_call({dump, File}, _From, #state{data = Data} = State) ->
Reply = snmpa_mib_data:dump(Data, File),
{reply, Reply, State};
-handle_call({backup, BackupDir}, From, #state{data = Data} = State) ->
- ?vlog("backup to ~s",[BackupDir]),
+%% This check (that there is no backup already in progress) is also
+%% done in the master agent process, but just in case a user issues
+%% a backup call to this process directly, we add a similar check here.
+handle_call({backup, BackupDir}, From,
+ #state{backup = undefined, data = Data} = State) ->
+ ?vlog("backup to ~s", [BackupDir]),
Pid = self(),
V = get(verbosity),
case file:read_file_info(BackupDir) of
@@ -576,6 +580,10 @@ handle_call({backup, BackupDir}, From, #state{data = Data} = State) ->
{reply, Error, State}
end;
+handle_call({backup, _BackupDir}, From, #state{backup = Backup} = S) ->
+ ?vinfo("backup already in progress: ~p", [Backup]),
+ {reply, {error, backup_in_progress}, S};
+
handle_call(stop, _From, State) ->
?vlog("stop",[]),
{stop, normal, ok, State};