[cffi-devel] Safe errno collection
John Fremlin
jf at msi.co.jp
Mon Jan 19 02:31:47 UTC 2009
"Luís Oliveira" <luismbo at gmail.com> writes:
> 2009/1/13 John Fremlin <jf at msi.co.jp>:
>> It is just the without-scheduling bit that I need . . .
>
> So, perhaps we could start by adding a new
> CFFI-SYS:WITHOUT-USERSPACE-SCHEDULING macro. (And perhaps
> CFFI-SYS:ERRNO and (SETF CFFI-SYS:ERRNO) as well.) Would that be a
> step in the right direction? Not sure if this is the right thing to
> do.
Ideally there would be a way to use the def-foreign-call errno
collection in Allegro CL via CFFI.
For example, if the foreign-function is trace'd then the
without-interrupts mechanism (sporadically) fails.
Although it is simple to make a cffi-sys:errno symbol-macro, I think
that logically the errno is only valid immediately after a
foreign-function call.
The idea that GC must not modify errno must be false on at
least a few implementations ;-)
We should not pretend that it is possible to get errno at an arbitrary
point after a foreign function call.
More information about the cffi-devel
mailing list