[Larceny-users] on porting to larceny

Peter Keller psilord at cs.wisc.edu
Wed Dec 31 13:01:01 EST 2008


On Wed, Dec 31, 2008 at 10:40:33AM -0500, William D Clinger wrote:
> Right.  So, quoting more from that same link, the paradigm is:
> 
>     An application that needs to examine the value of errno
>     to determine the error should set it to 0 before a function
>     call, then inspect it before a subsequent function call.

True, but the application work on does a replacement of the libc layer,
so, something like our open() could not set errno to 0, but the caller
could as you have pointed out.

The question becomes, if someone writes a scheme layer wrapping the
libc layer, then do they violate POSIX semantics in the context of the
scheme layer if their wrapper sets errno to zero before calling the
glibc function associated with it?

According to POSIX, no, since you'd be calling the libc functions
properly, but it means the the scheme layer no longer admits the
libc POSIXness to the scheme layer.

Thank you.

-pete



More information about the Larceny-users mailing list