Fix thrift_buffered_transport leak in erl bindings
authorDavid Reiss <dreiss@apache.org>
Wed, 11 Jun 2008 00:59:34 +0000 (00:59 +0000)
committerDavid Reiss <dreiss@apache.org>
Wed, 11 Jun 2008 00:59:34 +0000 (00:59 +0000)
Summary:
  - Was leaking processes when the client cleanly disconnected since the
    thrift_processor process was exiting with 'normal' Reason. Changed it
    to 'protocol_closed'

Test plan:
  - Telnet to thrift service port and close (^]close) before the read timeout
    elapses. Verify that erlang:system_info(process_count) does not increase
    after doing this multiple times.

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

lib/alterl/src/thrift_processor.erl

index 2d2fe37..8f32352 100644 (file)
@@ -33,7 +33,7 @@ loop(State = #state{in_protocol = IProto,
             loop(State);
         {error, closed} ->
             % error_logger:info_msg("Client disconnected~n"),
-            ok
+            exit(protocol_closed)
     end.
 
 handle_function(State = #state{in_protocol = IProto,