[ 
https://issues.apache.org/jira/browse/THRIFT-2032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13688724#comment-13688724
 ] 

Carl Yeksigian commented on THRIFT-2032:
----------------------------------------

Just to clarify, you are talking about the Client and the Processor; the 
IDisposable for the Client's Iface makes sense, but the IDisposable for the 
Processor's Iface doesn't. Unfortunately, they are the same Iface, so we need 
to find the correct middle ground.

I'm much more in favor of having the Iface not be IDisposable, as it lowers the 
maintanence, with the client being explicitly IDisposable. I'm unsure of how we 
currently clean up state from the processor, but I don't think that IDispoable 
makes the most sense.
                
> C# client leaks sockets/handles
> -------------------------------
>
>                 Key: THRIFT-2032
>                 URL: https://issues.apache.org/jira/browse/THRIFT-2032
>             Project: Thrift
>          Issue Type: Bug
>          Components: C# - Compiler, C# - Library
>    Affects Versions: 0.9
>            Reporter: Jens Geyer
>            Assignee: Jens Geyer
>             Fix For: 0.9.1
>
>         Attachments: THRIFT-2032-csharp-client-leaks-handles.patch
>
>
> The C# client code does not correctly clean up the transport used, so the 
> programmer has to take care on his own about this. This may even lead to a 
> program hang in certain scenarios. Furthermore, the generated client should 
> support IDisposable.
> Note that in contrast, the server side handles this automatically without any 
> explicit manual coding.
> TODO:
>  * modify generated code to add IDisposable support 
>  * modify TProtocol to add IDisposable support 
>  * update the tutorial code accordingly

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to