>>>>> 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 [EMAIL PROTECTED] errno NNN' line for each code. -- Gordon Matzigkeit <[EMAIL PROTECTED]> //\ I'm a FIG (http://fig.org/) Committed to diversity and freedom \// Do Screen (http://fig.org/gnu/screen/)

