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


Reply via email to