Details
-
Question
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.9.1
-
Linux Ubuntu 12.10 x64
Description
I have a problem, with memory leakin in apache thrift, I tried to ask at IRC yesterday, but that didn't help.
I'm using Apache Thrift framework, I'm writing a application, that has server on C++ and python client. The application has big resources object, that are using during the life. My application need to have a reload method, that should delete all resources, and load new instances from the disk. I wrote the cleannig method, and calling it before reload method. That's work, if I use TSimpleServer. But when I'm starting to use ThreadedServer or TNonBlocking server. Cleannig method doesn't work, as I can see, It's calling but it doesn't cleans . Server just starting to use twice amount of memmory. I tried to use a mutex during cleaning method, but that didn't help.
I think th matter is multithreading, other method doesn't allow to release old resources, but I'm not shure.
I wrote example code that has the same issue, and it's quite clear for understaing, I think.
Code example:
http://pastebin.com/qW8Ab1xQ
Full code availble in zip archive:
https://docs.google.com/file/d/0B73BxCSXgnuzbXlncllSU0NDQkE/edit