Re: Trying to run a Mumble Server
Am 19.09.2013 02:06, schrieb Samuel Thibault:
Jens Mühlenhoff, le Thu 19 Sep 2013 01:55:24 +0200, a écrit :
is returning errno = 1073741865 which is ESPIPE?!
Err, no, it's 0x40000029, i.e. _HURD_ERRNO(41), i.e. EPROTOTYPE.
Yes of course, I mixed up hexadecimal and decimal, it's getting late here ;).
I think that translates to socket(AF_INET, SOCK_STREAM | SOCK_CLOEXEC, 0)
Yes. SOCK_CLOEXEC is not currently supported, the TCP/IP stack thinks
the caller is inventing a new proto type numbered 4194305. You would
get the same behavior on Linux when building the application against a
recent libc, but running it against an old kernel without SOCK_CLOEXEC
support.
Ok, so libc is reporting a feature the Hurd doesn't support.
I was wondering why the Qt code is using (fd != -1 || errno != EINVAL) to determine success?
Since errno is EPROTOTYPE it doesn't even try to call socket without SOCK_CLOEXEC which would be done on (errno == EINVAL).
--
Mit freundlichen Grüßen
Jens Mühlenhoff
Reply to: