URL: <http://savannah.gnu.org/bugs/?48372>
Summary: read with size 0 from fifo blocks Project: The GNU Hurd Submitted by: kon Submitted on: Fri Jul 1 22:00:01 2016 Category: Hurd Servers Severity: 3 - Normal Priority: 5 - Normal Item Group: Standard Compliance Status: None Privacy: Public Assigned to: None Originator Name: Originator Email: Open/Closed: Open Discussion Lock: Any Reproducibility: Every Time Size (loc): None Planned Release: None Effort: 0.00 Wiki-like text discussion box: _______________________________________________________ Details: mkfifo da; sleep 1000 > da & rpctrace perl -e 'sysread STDIN, $_, 0' < da hangs at: 136<--159(pid1132)->io_read (-1 0) According to antrik, POSIX specifies that read with nbyte==0 must immediately return 0 or return an error. This could be implemented in libc, libtrivfs, fifo, or libpipe. It seems best to implement this in fifo or libpipe so that fifo can still return EBADF if the fifo was not opened for reading. I filed this as distinct from bug 48371 (for the streamio translator) because they can be fixed and tested independently. _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?48372> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/