petdance/scratch — Issue #359: Parrot_new should not need to be passed previously-created interps
Author: petdance
Created: 2011-11-01 04:25:47+00:00
State: open

Currently Parrot_new requires being passed in the 1st interp that was ever created to create subsequent interpreter objects.

In PL/Parrot, many interps must be created, some are trusted, some are not. But they all need to know about the 1st interp that was created, which, from a security standpoint, is suboptimal. Here is a snippet from PL/Parrot's plparrot.c :

{{{
untrusted_interp = Parrot_new(NULL);

/* Must use the first created interp as the parent of subsequently created interps */
trusted_interp = Parrot_new(untrusted_interp);

}}}