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