namazu-dev(ring)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: memory leak on libnmz
- From: knok@xxxxxxxxxxxxx (NOKUBI Takatsugu)
- Date: Thu, 18 Nov 99 09:24:40 JST
実は、~/.ccmalloc はきちんと設定していなかったりします ^^;
<199911171319.WAA09973@xxxxxxxxxxxxxx>の記事において
satoru-t@xxxxxxxxxxxxxxxxxxさんは書きました。
>> # src/.libs で namazu コマンドを実行して実験したのだけど、方
>> # 法はこれで正しいのだろうか?
次のようなテスト用 code を書き、libnmz.a を static に link してtest
しました。
--
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <fcntl.h>
#include <ctype.h>
#include <string.h>
#include <unistd.h>
#include <sys/stat.h>
#include <signal.h>
#include "libnamazu.h"
#include "getopt.h"
#include "util.h"
#include "codeconv.h"
#include "form.h"
#include "conf.h"
#include "search.h"
#include "hlist.h"
#include "i18n.h"
int main(int argc, char **argv)
{
int i = 1;
HLIST hlist;
PHRASERES phres;
uchar query[BUFSIZE] = "", subquery[BUFSIZE] = "";
uchar index[BUFSIZE] = "";
if (i == argc) {
exit(1);
}
strcpy(query, argv[i++]);
strcpy(index, argv[i++]);
set_lang("ja");
printf("start query=%s, index = %s\n", query, index);
// for (i = 0; i < 200; i++) {
add_index(index);
set_sortbydate();
set_sort_descending();
uniq_idxnames();
expand_idxname_aliases();
complete_idxnames();
hlist = search_main(query);
printf("hlist.n=%d\n", hlist.n);
free_hlist(hlist);
free_idxnames();
free_aliases();
free_replaces();
// }
return 0;
}
$ gcc -g libnmztest.c -I/usr/local/namazu-current/include/namazu \
/usr/local/namazu-current/lib/libnmz.a -lccmalloc -ldl
$ ~/index$ ./a.out '{a b}' ./indexdir 2>ccmalloc.log > output
>> で、この情報を元にささっと修正して、 cvs commit。すばらしい。
>> ccmalloc はなんて便利な道具なのだ!!
こちらでも修正されていることを確認しました。この調子で leak を撲滅し
ましょう :-)
--
野首 貴嗣
E-mail: knok@xxxxxxxxxxxxx (private)
nokubi@xxxxxxxxx (official)