[Newbies] Do I need to close a FileStream?
bert at freudenbergs.de
Sun Mar 25 10:30:02 UTC 2007
On Mar 24, 2007, at 17:41 , Tim Johnson wrote:
> On Mar 24, 2007, at 3:45 AM, Kyle Hamilton wrote:
>> 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
>> then no additional files can be opened, and on any attempt to do
>> so an
>> error is returned.
> For some reason I was confused and thought that Squeak's garbage
> collector would somehow make me immune from this. Like when the
> file was no longer being used, it would be closed and purged.
Actually it is indeed. We use finalization for this [*]. However, you
cannot know _when_ an object actually will be finalized, so you may
be eating up handles nontheless.
> Now I know otherwise :)
It's good practice not to rely on finalization, but treat it as a
- Bert -
[*] See for example
More information about the Beginners