[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

DISALLOW-CLOSED-STREAM-FUNCTIONS



Issue:        DISALLOW-CLOSED-STREAM-FUNCTIONS
References:   CLOSE (p 332)
Category:     CLARIFICATION
Edit history: 26-Aug-88, Version 1 by Chapman


Problem Description:

The description of CLOSE is not completely clear about the functions
which are allowed to be performed on a closed stream.

On p332 it says:
	"The stream is closed. No further Input/output operations may be
	performed on it. However, certain inquiry operations may still
	be performed, ..."
but the list of inquiry operations is not specified.

At least one implementation interpreted the list to include
at least OUTPUT-STREAM-P, while another has disallowed that operation
to be performed on a closed stream. 

Proposal (DISALLOW-CLOSED-STREAM-FUNCTIONS:ALL)

Clarify that it is an error to perform any operation on a closed stream.

Rationale:

This clarification allows existing implementations to maintain the status
quo, while alerting users to the fact that the result of performing
an operation on a closed stream is undefined in the standard.
Also, the descriptions of OUTPUT-STREAM-P and INPUT-STREAM-P indicate
that these functions can only be performed on streams that have not
been closed.

Current Practice:

At least two implementations differ in which functions are allowed to be
performed on a closed stream.

Adoption Cost:

None.

Benefits:

This clarification will assist users in writing portable code.

Conversion Cost:

None.

Aesthetics:

None.

Discussion: