On Saturday 02 October 2004 15:19, Nicholas Clark wrote:
> # New Ticket Created by  Nicholas Clark
> # Please include the string:  [perl #31806]
> # in the subject line of all future correspondence about this issue.
> # <URL: http://rt.perl.org:80/rt3/Ticket/Display.html?id=31806 >
> So I had a dig (valgrind on FreeBSD++), and it turns out that it's this
> line:
>
>     mem_sys_free(pio_registered_layers);
>
> in PIO_finish.
[snip]
> It's being called from the same place, but for 2 different interpreters.
> At first I was just going to patch it with:
>
>     pio_registered_layers = NULL;
>
> after the free(), but than I thought "This is a bug, because I guess we
> want to free it with the *last* interpreter, not the first".
>
> But then I thought
>
>
>    AWOOGA! AWOOGA! GLOBAL VARIABLE. NOT IN AN INTERPRETER STRUCTURE.
>
>
> And I'm not sure what the correct fix is. But it sure ain't threadsafe
> currently.
Should be fixed. At least, no test fails on OpenBSD now.

> Nicholas Clark
jens

Reply via email to