Juergen Boemmels <[EMAIL PROTECTED]> wrote:
> I have a question about the status of my patches:
> [perl #23034][PATCH] Implementation of methods for PIOs
> [perl #23124][PATCH] [PATCH] Standard filehandles in the interpreter
>              are now PMCs.

I applied both locally, but:

1) I get segfaults during initialization: Parrot_init ->
  Parrot_ParrotIO_class_init needs the pio_data method tables, which are
  constructed later in PIO_init.
2) I do not understand the changes WRT DOD and why the IO PMCs are first
  marked and then destroyed anyway. A custom destroy routine should be
  able to destruct IO PMCs in the correct order.
3) minor note: some warnings and one reject in dod.c

The whole beast seems to need a 2 phase init (the hooks are already in
make_interpreter, which calls PIO_init twice) First call should setup
data structures, the second one the stdio PMCs.
WRT destruction: I'll look at that later, when I have the full picture
of the changes.
WRT ParrotIO:init() PObj_needs_early_DOD_SET(SELF) should not be set
according to Dan. The HL can emit a C<needs_destroy> opcode after
opening a file, that has to get cleaned up on scope exit.

Anyway: could you rediff it and provide a patch (both in one is fine for
me), that passes all tests.

> boe

TIA,
leo

Reply via email to