diff options
author | Micael Karlberg <[email protected]> | 2011-12-05 12:53:25 +0100 |
---|---|---|
committer | Micael Karlberg <[email protected]> | 2011-12-21 16:04:04 +0100 |
commit | 558f3c606b2cbdf46ecb53de48387ebb93527c07 (patch) | |
tree | 98d7a3f28a7cb15d0a3362a771d46a7d82caf8e2 | |
parent | 44afbca7de2d14993df33d5329a9699a588ff6b0 (diff) | |
download | otp-558f3c606b2cbdf46ecb53de48387ebb93527c07.tar.gz otp-558f3c606b2cbdf46ecb53de48387ebb93527c07.tar.bz2 otp-558f3c606b2cbdf46ecb53de48387ebb93527c07.zip |
[snmp] Add a more informative return value when the trap sending fails
OTP-9700
-rw-r--r-- | lib/snmp/src/agent/snmpa_trap.erl | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/lib/snmp/src/agent/snmpa_trap.erl b/lib/snmp/src/agent/snmpa_trap.erl index 450cb2e9f4..3b31c8d909 100644 --- a/lib/snmp/src/agent/snmpa_trap.erl +++ b/lib/snmp/src/agent/snmpa_trap.erl @@ -339,9 +339,25 @@ send_trap(TrapRec, NotifyName, ContextName, Recv, Vbs, NetIf) -> send_trap(TrapRec, NotifyName, ContextName, Recv, Vbs, LocalEngineID, NetIf). +%% The agent normally does not care about the result, +%% but since it can be usefull when debugging, add +%% some info when we fail to send the trap(s). send_trap(TrapRec, NotifyName, ContextName, Recv, Vbs, LocalEngineID, NetIf) -> - (catch do_send_trap(TrapRec, NotifyName, ContextName, Recv, Vbs, - LocalEngineID, NetIf)). + try + begin + do_send_trap(TrapRec, NotifyName, ContextName, Recv, Vbs, + LocalEngineID, NetIf) + end + catch + T:E -> + Info = [{args, [TrapRec, NotifyName, ContextName, + Recv, Vbs, LocalEngineID, NetIf]}, + {tag, T}, + {err, E}, + {stacktrace, erlang:get_stacktrace()}], + {error, {failed_sending_trap, Info}} + end. + do_send_trap(TrapRec, NotifyName, ContextName, Recv, Vbs, LocalEngineID, NetIf) -> |