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