Haskell HDBC 内存泄漏



前几天我尝试将资源池和HDBC放在一起,但注意到每个查询的内存都在不断上升。然后,我使用尽可能少的函数将一个简单的测试代码放在一起,并得到这个:

data SQL = SQL (Pool Connection)
check :: SQL -> IO ()
check (SQL pool) = do res <- query' pool "show status like 'Threads_conn%'" []
                      threadDelay 100000
                      check (SQL pool)

整个代码:http://upaste.me/40f2229cef7157f

对于检查函数的每次递归,程序都会使用越来越多的内存。结果不应该在新的递归调用中被垃圾回收,还是会保留在内存中,直到程序退出该函数以防"我们需要它"?

后期跟进,但根据您使用的池版本,这可能是池实现本身的错误:https://github.com/bos/pool/pull/4

相关内容

  • 没有找到相关文章

最新更新