Re: update-menus error
>>>>> Joost Witteveen writes:
JW> i.e., 1073741942, or 2**30+118 (doesn't look very special to me).
JW> As far as I can see, whenever fcntl returns -1, it _should_ set
JW> errno to something more sensible than that.
Hurd errnos are quite different from Linux errnos, and the errno
you're looking at is quite a sensible one: EOPNOTSUPP (a weaker
version of ENOSYS). File locking is not fully implemented on the
Hurd, and your program is asking for something that the Hurd doesn't
(yet) understand. This is a known bug.
So, the correct thing to do is treat this code as a failure. It will
stop being returned once that particular fcntl is implemented by the
libc and Hurd servers.
The explanation: the Hurd errno space is carved up into server errors,
microkernel errors, etc. The Mach error code conventions are followed
by or'ing the code (118) with a constant to tell strerror that this is
the Hurd subsystem. I found EOPNOTSUPP by looking at
libc/manual/error.texi: there's an `@comment errno NNN' line for each
code.
--
Gordon Matzigkeit <gord@fig.org> //\ I'm a FIG (http://fig.org/)
Committed to diversity and freedom \// Do Screen (http://fig.org/gnu/screen/)
Reply to: