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

Re: close queries

    From: David A. Moon <ucbkim!Moon@SCRC-STONY-BROOK.ARPA>    
    I don't see why close should be treated differently from other
    stream operations.
    I don't know what it would mean to "close the synonym stream but
    not the stream
    bound to" -- what aspect of a synonym stream is there to be
    closed, other than the stream it is bound to?

I disagree.  When a synonym stream is 'opened', it creates a conduit to
another stream.  When it is closed, the only action should be
to close the conduit, preventing further reading and writing operations
through the synonym stream.  This is completely safe.  Closing down the
stream bound to the synonym stream can be unsafe and you are forced to
come up with rules like 'you can close *terminal-io*' which is something
processes wish to do on occasion in Unix.
 One way to decide which is the correct thing to do when a close is done
is to consider examples of synoynm streams.  The only example I know of
is that *standard-input*, *standard-output*, *error-output*, *trace-output*,
*query-io*, and *debug-io* are all synonym streams for *terminal-io*.
It doesn't make sense to me that if I close *debug-io*, *standard-input*
should be affected, thus I claim this example supports my view.
Are there any other examples of synonym streams?

-john foderaro