[Newbies] Do I need to close a FileStream?

Kyle Hamilton aerowolf at gmail.com
Sat Mar 24 08:45:45 UTC 2007


The underlying OS has only a certain number of file handles that it
can maintain open at a time.  On UNIX-like systems, there is also
possibly a maximum number of files per process.  If this limit is hit,
then no additional files can be opened, and on any attempt to do so an
error is returned.

-Kyle H

On 3/24/07, Bert Freudenberg <bert at freudenbergs.de> wrote:
> On Mar 24, 2007, at 8:34 , Tim Johnson wrote:
>
> > Hi,
> >
> > Do I need to worry about closing a read-only FileStream when I am
> > done reading from it?
>
> Yes. Always. A common pattern is
>
>         f := ... open the file stream ....
>         [ ... do something with f ... ] ensure: [f close]
>
> This ensures f is closed even if there is an error in your processing
> code.
>
> > What happens if I don't?
>
> Bad Things ;) I'm not exactly sure.
>
> > How can I tell if I have lots of open files in my system?
> > "FileStream allInstances inspect"?
>
> You would need to use #allSubInstances and check if they're open.
>
> - Bert -
>
>
> _______________________________________________
> Beginners mailing list
> Beginners at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>


-- 

-Kyle H


More information about the Beginners mailing list