经过咨询hightman,确认scws.c中的_scws_mseg_zone函数有未释放的内存。这个问题已经在2007年8月9日由会员“一口”发现并给出修改补丁,后来因为意外被误清了。 现在将当时的修改方法附上,经过测试,已经不再有泄露了:) 原...
...、初始化、并返回新对象的指针。通过调用 scws_free() 来释放该对象。 [b]返回值:[/b]初始化的 scws_st * (即 scws_t) 句柄。如果无足够内存以分配新的对象,返回NULL。 [b]错误:[/b]在内存不足的情况下,返回NULL。 [b][color=#ff6600]·...
... searchd 的 worker 进程加一个超时和总次数限制,以便智能释放资源。 [/quote] strace -p 23099 Process 23099 attached - interrupt to quit 用fastrestart可以重启
...一个内存申请:at = (word_attr *) malloc(cnt); 申请的内存没有释放。应该在scws_has_word()函数最后添加一句:free(at); 即可。 另外,觉得scws应该可以用于多线程环境,内部函数应该是线程安全的,每一个线程可以共享同一个词典和rule...
...>flag |= SCWS_WORD_MALLOCED 失效,以至于在 scws.c 中无法正确的释放这些内存。 再次感谢您的汇报!对于长期运行的程序来说这造成的内存泄漏非常严重。