I have the same problem with Java, reported here:
https://issues.apache.org/jira/browse/THRIFT-4252

Its a problem for us, and would be great to be fixed.

All the best,

   Mario



On 27.02.2018 17:06, Gianni Ambrosio wrote:
> Hi All,
> I realized the previous link (THRIFT-2696) was related to Delphi (gosh!). C++ 
> implementation had the same problem but seems to be already fixed:
> 
> https://github.com/apache/thrift/commit/1684c429501e9df9387cb518e660691f032d7926#diff-73a64b6e865fd1b207b30764b9e06033
> 
> Is it possible to open a ticket for C# too?
> 
> Regards,
> Gianni
> 
> On 27/02/2018 14:09, Gianni Ambrosio wrote:
>> Hi All,
>> I was experiencing exacly the same problem reported here with Thrift 0.9.1:
>> https://issues.apache.org/jira/browse/THRIFT-2696
>>
>>  So I moved to the latest thrift version (i.e. 0.11.0) but the problem is 
>> still there!
>>
>> I implemented a thrift server with TSimpleServer in C#:
>>
>> public class ThriftServer
>> {
>>    public void start(){
>>       Service.Processor processor = new Service.Processor(serviceHandler);
>>       TServerSocket serverTransport = new 
>> TServerSocket(ServiceConstants.ServicePort);
>>       server = new TSimpleServer(processor, serverTransport);
>>       workerThread = new Thread(new ThreadStart(run));
>>       workerThread.Start();
>>    }
>>    private void run(){
>>       server.Serve();
>>    }
>>    public void stop(){
>>       server.Stop();
>>    }
>> }
>>
>> And here is the C++ client implementation:
>>
>> void ThriftClient::connect(const std::string& serverIp) {
>> boost::shared_ptr<apache::thrift::transport::TTransport> socket(new 
>> apache::thrift::transport::TSocket(serverIp.c_str(), 
>> g_Service_constants.ServicePort));
>>    transport = 
>> boost::make_shared<apache::thrift::transport::TBufferedTransport>(socket);
>>    transport->open();
>>    client = 
>> boost::make_shared<ServiceClient>(boost::make_shared<apache::thrift::protocol::TBinaryProtocol>(transport));
>> }
>>
>> The problem is that when I close the C# application the application does not 
>> close. But in that state it closes as soon as I close the C++ client 
>> application.
>> Debugging the C# application, server.Stop() is called but server.Serve() 
>> call does not exit unless the client has been disconnected.
>> Since the above thrift ticket seems reporting exactly the same issue and it 
>> should be fixed in thrift 0.9.2, what's wrong in my code?
>>
>> Best regards,
>> Gianni
>>
> 
> 



Viele Gruesse,

    Mario Emmenlauer


--
BioDataAnalysis GmbH, Mario Emmenlauer      Tel. Buero: +49-89-74677203
Balanstr. 43                   mailto: memmenlauer * biodataanalysis.de
D-81669 München                          http://www.biodataanalysis.de/

Reply via email to