At 03:28 AM 6/7/2002 -0400, Josh Wilmes wrote: >It appears that the mechanism for choosing an os layer for PIO could use >some work, and it also appears that io_stdio is incomplete.
Yes to both. The mechanism: #ifndef WIN32 PIO_push_layer(interpreter, PIO_base_new_layer(&pio_unix_layer), NULL); #else PIO_push_layer(interpreter, PIO_base_new_layer(&pio_win32_layer), NULL); #endif Should just be transparently PIO_push_payer(...., &pio_sys_layer, ... ) This means renaming all of io_unix/io_win32 to io_sys since you would never have 2 OS dependant layers compiled at the same time. I've just been too lazy to rework it. >I'm playing with a miniparrot setup, but one of its requirements is that >it be able to run exclusively on io_stdio, which doesn't appear to be >possible at this time. When you say io_stdio, I assume you mean STDIO, right? According to Dan, the goal for Parrot was to run without STDIO, period. Anway, io_stdio is dreadfully incomplete. Its sort of frozen where I left it in January, but it needs to be renamed to io_buf or something. The one you are looking at is not going to be a wrapper for STDIO, it is going to be a buffered IO layer on top of an OS layer. If you want, just rename it to io_buf.c and commit, and then you can use io_stdio as the name implies. >I haven't really dug into the PIO code yet- i wanted to check with whoever >had been working on it before I do anything. Have at it. Dan had said no stdio when I first started, so thats what I'm assuming until further notice. -Melvin