Arne Goedeke wrote:
The Stdio.Buffer output callback is required even for buffers which are not malloced. Now, the following test case
Stdio.Buffer b = Stdio.Buffer("foo"); b->__set_on_write(lambda(mixed ... args) { werror("New Data added.\n") }); b->add("bar");
does not work anymore. I believe this is requird by the Stdio.File buffer mode.
Indeed. Forgot about this one.
You also removed the __output variable which means that the GC cannot discover cycles anymore.
Can you (or anyone) explain how the GC uses this variable to detect those? I'm guessing that the GC only works with svalues, not with plain objects?