Report error for abnormal server termination only
Client: erl
diff --git a/lib/erl/src/thrift_socket_server.erl b/lib/erl/src/thrift_socket_server.erl
index 4e3c052..432e65b 100644
--- a/lib/erl/src/thrift_socket_server.erl
+++ b/lib/erl/src/thrift_socket_server.erl
@@ -278,9 +278,13 @@
 
 terminate(Reason, #thrift_socket_server{listen=Listen, port=Port}) ->
     gen_tcp:close(Listen),
-    {backtrace, Bt} = erlang:process_info(self(), backtrace),
-    error_logger:error_report({?MODULE, ?LINE,
-                               {child_error, Reason, Bt}}),
+    case Reason of
+        normal -> ok;
+        shutdown -> ok;
+        _ -> {backtrace, Bt} = erlang:process_info(self(), backtrace),
+             error_logger:error_report({?MODULE, ?LINE,
+                                       {child_error, Reason, Bt}})
+    end,
     case Port < 1024 of
         true ->
             catch fdsrv:stop(),