Next: mpg-ref-compare, Previous: mpg-ref-clause, Up: mpg-bpr [Contents][Index]
close/[1,2] ISOclose(+Stream)
close(+Stream, +Options)
closes the stream corresponding to Stream.
stream_object, must be ground
Stream or file specification.
list of term, must be ground
A list of zero or more of the following:
force(Boolean)Specifies whether SICStus Prolog is to close the stream
forcefully, even in the presence of errors (true), or not
(false). The latter is the default. Currently this option has no
effect.
direction(+Direction)Direction is an atom specifying the direction or directions to close.
One of:
inputClose only the input direction, if open.
outputClose only the output direction, if open.
allClose all directions. This is the default.
if stream is not open in the specified direction then the call to open/4 does nothing.
Closing a single direction is mainly useful when dealing with bidirectional streams, such as sockets.
If Stream is a stream object, then if the corresponding stream is open, then it will be closed in the specified directions; otherwise, an error exception is raised.
If Stream is a file specification, then the corresponding
stream will be closed in the specified directions,
provided that the file was opened by
see/1 or tell/1.
Stream errors (see ref-iou-sfh-est), plus:
instantiation_errorOptions is not instantiated enough.
type_errorOptions is not a proper list.
domain_errorOptions contains an invalid option.
permission_errorFile not opened by see/1 or tell/1.
domain_errorStream is neither a filename nor a stream.
In this example, foo will be closed:
see(foo), … close(foo)
However, in this example, a permission error will be raised and foo will not be closed:
open(foo, read, S), … close(foo)
Here, close(S) should have been used.
see/1, tell/1, open/[3,4],
ref-iou-sfh, lib-sockets.