SRFI 199: POSIX errno manipulation Arthur A. Gleckler (26 Jun 2020 02:31 UTC)
Re: SRFI 199: POSIX errno manipulation John Cowan (26 Jun 2020 02:39 UTC)
Re: SRFI 199: POSIX errno manipulation Marc Nieper-Wißkirchen (26 Jun 2020 06:02 UTC)
Re: SRFI 199: POSIX errno manipulation hga@xxxxxx (26 Jun 2020 14:44 UTC)
Re: SRFI 199: POSIX errno manipulation Marc Nieper-Wißkirchen (26 Jun 2020 15:22 UTC)
Re: SRFI 199: POSIX errno manipulation John Cowan (27 Jun 2020 04:03 UTC)
Re: SRFI 199: POSIX errno manipulation Shiro Kawai (27 Jun 2020 09:52 UTC)
Re: SRFI 199: POSIX errno manipulation Shiro Kawai (27 Jun 2020 09:53 UTC)
Re: SRFI 199: POSIX errno manipulation hga@xxxxxx (27 Jun 2020 10:55 UTC)
Re: SRFI 199: POSIX errno manipulation Shiro Kawai (27 Jun 2020 11:12 UTC)
Re: SRFI 199: POSIX errno manipulation Lassi Kortela (27 Jun 2020 11:26 UTC)
Re: SRFI 199: POSIX errno manipulation John Cowan (27 Jun 2020 14:47 UTC)
Re: SRFI 199: POSIX errno manipulation hga@xxxxxx (27 Jun 2020 15:05 UTC)
Re: SRFI 199: POSIX errno manipulation Lassi Kortela (27 Jun 2020 15:12 UTC)
Re: SRFI 199: POSIX errno manipulation hga@xxxxxx (27 Jun 2020 15:40 UTC)
Re: SRFI 199: POSIX errno manipulation Lassi Kortela (27 Jun 2020 15:47 UTC)
Re: SRFI 199: POSIX errno manipulation Shiro Kawai (27 Jun 2020 17:51 UTC)
Re: SRFI 199: POSIX errno manipulation John Cowan (27 Jun 2020 15:49 UTC)

Re: SRFI 199: POSIX errno manipulation Marc Nieper-Wißkirchen 26 Jun 2020 06:02 UTC

Am Fr., 26. Juni 2020 um 04:39 Uhr schrieb John Cowan <xxxxxx@ccil.org>:

The Scheme runtime system may change the errno value outside of
user-controlled code, so the errno of SRFI 199 cannot map directly to
the errno of the C library.

For example, the Scheme system may call a number of C procedures
setting errno while compiling code dynamically or run a GC. And both
can happen, in principle, happen between `set-errno!' and `errno'.

Thus, as currently written, the specification doesn't help too much.
SRFI 199's errno has to be abstracted (or SRFI 199 has to require that
the runtime system of supporting implementations has to be rewritten
in such a way that any change to errno is not visible to user code).