Actions
Bug #11626
closedfprintf in c extension keep adding memory usage
Description
fprintf
will keep adding memory usage without releasing it.
I was doing it in rails console, not sure if it makes any different. The code like this:
VALUE leak (VALUE self, VALUE in) {
char *str = StringValuePtr(in);
char *pstr;
pstr = malloc (10240);
strcat(pstr,str);
fprintf (stdout, pstr);
self = rb_str_new_cstr(pstr);
free (pstr);
return self;
}
void Init_extension(){
rb_define_global_function("leak", leak, 1);
}
100000000.times{leak("lots of garbage")}
without the fprintf
line the memory usage is normal, adding that line just keep adding memory, kill the console process will release the memory.
If I do 100000.times{Process.wait(fork{ stuff})}
, memory also looks normal. Leaking somewhere????
Actions
Like0
Like0Like0Like0Like0