2010-11-23 36 views
1

可能重複:
posix timer_create() function causing memory leak on linuxPOSIX timer_create()在Linux上的問題

我使用POSIX timer_create()功能在我的應用程序的定時器功能。我在超時方案中使用了SIGEV_THREAD選項。但是在超時發生時,內核在運行時創建的線程不會退出。線程的啓動功能也沒有問題。出於測試目的,我已將其製作成虛擬功能。由於這個線程沒有退出,它導致了大約10MB的memroy泄漏。默認創建的線程的分離狀態是PTHREAD_CREATE_DETACHED。有人能告訴我該怎麼做才能擺脫內存泄漏?

+0

請停止製作這些重複的帖子。 – 2010-11-23 15:08:58

回答

0

這是libc庫創建一個線程來處理你的計時器。這個線程在你的計時器開啓後不會被銷燬,以避免每次使用timer_create()時創建/銷燬線程。換句話說,一旦一個計時器線程被創建,它就會運行直到程序終止。

但是,計時器線程本身不會導致任何內存泄漏。內存泄漏很可能是由您的代碼造成的。請發佈您的代碼。