Subject: bin/19402: write(2) man page doesn't document EINTR
To: None <>
From: None <>
List: netbsd-bugs
Date: 12/15/2002 22:08:45
>Number:         19402
>Category:       bin
>Synopsis:       write(2) doesn't document EINTR
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    bin-bug-people
>State:          open
>Class:          doc-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Dec 15 19:14:00 PST 2002
>Originator:     Kevin P. Neal
>Release:        NetBSD 1.6
Kevin P. Neal                      

"You know, I think I can hear the machine screaming from here...  \
'help me! hellpp meeee!'"  - Heather Flanagan, 14:52:23 Wed Jun 10 1998
System: NetBSD 1.6 NetBSD 1.6 (RUNE-$Revision: 1.1 $) #7: Sun Sep 22 20:32:24 EDT 2002 alpha
Architecture: alpha
Machine: alpha

The write system call man page does not document that receipt of a signal
before any data has been transmitted is an *error*, but receipt of
a signal after at least a single byte has been transmitted is NOT an
error. This confused me, and it confused the author of dump (for which
a patch is forthcoming).


man 2 write, as suggested on the netbsd-users list. See that there is
nothing in the man page describing the condition described. Be irritated
at the suggestion. 


*** write.2.orig	Thu Feb  7 20:28:23 2002
--- write.2	Sun Dec 15 22:01:56 2002
*** 177,182 ****
--- 177,184 ----
  containing the file has been exhausted.
  .It Bq Er EIO
  An I/O error occurred while reading from or writing to the file system.
+ .It Bq Er EINTR
+ A signal was received before any data could be written.
  .It Bq Er EAGAIN
  The file was marked for non-blocking I/O,
  and no data could be written immediately.