While browsing through the source for /hurd/fifo, I noticed that
trivfs_S_io_map was returning EINVAL.  It seems like it should be ENODEV.
>From the glibc manual...

http://www.gnu.org/manual/glibc-2.2.5/html_node/Memory-mapped-I-O.html

Possible mmap errors include:

EINVAL
    Either address was unusable, or inconsistent flags were given.
EACCES
    filedes was not open for the type of access specified in protect.
ENOMEM
    Either there is not enough memory for the operation, or the process is
    out of address space.
ENODEV
    This file is of a type that doesn't support mapping.
ENOEXEC
    The file is on a filesystem that doesn't support mapping.

And it look like its a similar story for some other translators
(trans/null.c, trans/new-fifo.c, and pfinet/tunnel.c) as well as the
default (libtrivfs/io-map.c).  As a comparasion, on my linux system, mmap
fails with ENODEV on a fifo.


Greg Buchholz


_______________________________________________
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd

Reply via email to