WG15 Defect Report Ref: 9945-2-06
Topic: dd

This is an approved interpretation of 9945-2:1993.


Last update: 1997-05-20

	Class: Editorial defect


	Topic:			dd
	Relevant Sections:	4.16.4,

Defect Report:

          In  Section  4.16.4  -  Asynchronous  Events  {of  dd},  the 
          standard states that ``for  SIGINT,  the  dd  utility  shall 
          write status information to standard error  before  exiting. 
          It shall take the standard action for all other signals; see 
  [Draft 12 of ISO/IEC 9945-2:1993 (July 1992), p. 
          261, lines 3202-3203] 
          In  this  context,  what  does  ``exit''  mean?   Does  this 
          literally mean the use of the exit()  function  or  does  it 
          really mean ``process termination?''  If the exit() function 
          is mandated, then  dd  contradicts  the  spirit  of  Section 
 - Asynchronous Events, and with  the  behaviour  of 
          all other POSIX.2 utilities: the parent process cannot  tell 
          that dd died due to a signal. 

WG15 response for 9945-2:1993 

The standard states that the "utility shall write status information to
standard error before exiting", when the utility receives a SIGINT.
While this can possibly be construed to mean "SIGINT causes the utility
to write status information before it exits, whenever it does exit", the
proper reading of the sentence is "upon receipt of SIGINT, the utility
will exit, writing status information before doing so".

Additionally, it is possible to read this phrase as requiring the
utility to use exit(). The use of the words "before exiting" in this
section of the standard does not require the implementation to use

Concerns about the wording of this part of the standard have been
forwarded to the Sponsors.

Rationale for Interpretation: