linux上的posix timer_create()问题

时间:2010-11-23 14:58:16

标签: linux posix

  

可能重复:
  posix timer_create() function causing memory leak on linux

我在我的应用程序中使用posix timer_create()函数作为计时器功能。我正在使用SIGEV_THREAD选项来实现超时方案。但是,当超时发生时,内核在运行时创建的线程不会退出。线程的启动功能也没有问题。出于测试目的,我已经使它成为虚拟功能。由于这个线程没有退出,它导致大约10mb的memroy泄漏。默认情况下创建的线程的分离状态为PTHREAD_CREATE_DETACHED。有人可以告诉我该如何摆脱内存泄漏?

1 个答案:

答案 0 :(得分:0)

这是libc库,为您创建一个处理计时器的线程。在计时器触发后,此线程不会被销毁,以避免每次使用timer_create()时创建/销毁线程。换句话说,一旦创建了一个计时器线程,它就会一直运行直到程序终止。

但是,计时器线程本身不会导致任何内存泄漏。内存泄漏很可能是由您的代码引起的。请发布您的代码。