!standard 09.05.01 (18) 97-03-19 AI95-00178/00 !class binding interpretation 97-03-19 !status received 97-03-19 !priority Low !difficulty Medium !subject Which I/O operations are potentially blocking? !summary 97-03-19 !question 97-03-19 !recommendation 97-03-19 !wording 97-03-19 !discussion 97-03-19 !appendix 97-03-19 !section 9.5.1(18) !subject Which I/O operations are potentially blocking? !reference RM95-9.5.1(18) !from Norman Cohen !reference 97-15708.a Norman H. Cohen 97-1-22>> !discussion 9.5.1(18) states that "the subprograms of the language-defined input-output packages that manipulate files (implicitly or explicitly) are potentially blocking." It is not clear what this means. 1. Is "that manipulate files" meant to modify "subprograms" (in which case the versions of Put that write to strings are excluded) or "packages" (in which case these versions of Put might be included, but see #2). 2. Is a subprogram provided by an instance of a generic package nested in Ada.Text_IO considered a subprogram "of" Ada.Text_IO? 3. Which subprograms are considered to "manipulate files"? Is any subprogram with a File_Type parameter, plus any counterpart that operates in the same way on a default file, considered to "manuipulate files", or is manipulation of files restricted to subprograms that perform what A.8.2 calls "File Management"? Indeed, are the file-management functions that query properties of an internal file (Mode, Name, Form, Is_Open) considered to manipulate files? ****************************************************************