erlang: Don't catch exits in thrift_processor
authorDavid Reiss <dreiss@apache.org>
Mon, 30 Aug 2010 22:05:36 +0000 (22:05 +0000)
committerDavid Reiss <dreiss@apache.org>
Mon, 30 Aug 2010 22:05:36 +0000 (22:05 +0000)
They are not handled properly, so the exit backtrace gets lost.
Just ignore them and let them kill the process naturally.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@990984 13f79535-47bb-0310-9956-ffa450edef68

lib/erl/src/thrift_processor.erl

index 913e59b..4ae0fd7 100644 (file)
@@ -69,7 +69,7 @@ handle_function(State=#thrift_processor{in_protocol = IProto,
         %%                       [Function, Params, Micro/1000.0]),
         handle_success(State, Function, Result)
     catch
-        Type:Data ->
+        Type:Data when Type =:= throw orelse Type =:= error ->
             handle_function_catch(State, Function, Type, Data)
     end,
     after_reply(OProto).