[comp.sys.atari.st] fortyfolderlimit

t68@nikhefh.nikhef.nl (Jos Vermaseren) (09/15/89)

Recently Allan explained us that the 40 folder limit has been solved
in TOS 1.4. This makes me wonder. What has been done about the Fsfirst
call and the DTA. The existence of hanging pointers to file structures
makes it kind of difficult to clean up those structures. Can I safely
do many Fsfirst calls? (locally we have seen some crashes that look
suspiciously like the 40 folder limit even though tos1.4 was running).
Or did I miss something in the docs? (Atari Benelux does send updates
around to devellopers).

Jos Vermaseren
t68@nikhefh.nikhef.nl

dclemans@mentor.com (Dave Clemans @ APD x1292) (09/16/89)

From article <258@nikhefh.nikhef.nl>, by t68@nikhefh.nikhef.nl (Jos Vermaseren):
> 
> 
> Recently Allan explained us that the 40 folder limit has been solved
> in TOS 1.4. This makes me wonder. What has been done about the Fsfirst
> call and the DTA. The existence of hanging pointers to file structures
> makes it kind of difficult to clean up those structures. Can I safely
> do many Fsfirst calls? (locally we have seen some crashes that look
> suspiciously like the 40 folder limit even though tos1.4 was running).
> Or did I miss something in the docs? (Atari Benelux does send updates
> around to devellopers).
> 
> Jos Vermaseren
> t68@nikhefh.nikhef.nl

To my understanding TOS 1.4 works similarly to MS-DOS in this regard.
There is a limit on the number of resources that can be "open" simultaneously,
but those resources do get correctly freed when the resource is "closed".
(This was the big problem in TOS 1.0 and 1.2).

Under MS-DOS you can control these limits with lines in the config.sys file.
Under TOS (since it doesn't have a config.sys file) you have auto folder
programs like cachexxx.prg (which I think is comparable to the config.sys
line BUFFERS=) and foldrxxx.prg (which under 1.4 has an effect comparable
to the config.sys line FILES=).

dgc

apratt@atari.UUCP (Allan Pratt) (09/19/89)

t68@nikhefh.nikhef.nl (Jos Vermaseren) writes:
>Recently Allan explained us that the 40 folder limit has been solved
>in TOS 1.4. This makes me wonder. What has been done about the Fsfirst
>call and the DTA. [...] Can I safely do many Fsfirst calls? 

Old TOS put pointers to its directory tree in the DTA after Fsfirst
or Fsnext, but TOS 1.4 does not.  You can do as many Fsfirst calls
as you like; no OS resources are tied up after the call.

If you do run into a situation which would have been called a 40-folder
bug in the past, you'll know it unmistakably: you'll get a "PANIC"
message, and all you can do is reset.  I consider this less than
perfect, but it's better than incorrect behavior which can trash all
the files on your hard disk.  Fewer things can cause this to happen
than before, but when it happens, you'll know it.

============================================
Opinions expressed above do not necessarily	-- Allan Pratt, Atari Corp.
reflect those of Atari Corp. or anyone else.	  ...ames!atari!apratt

neubauer@tubsibr.uucp (Frank Neubauer) (10/03/89)

apratt@atari.UUCP (Allan Pratt) writes:

>Old TOS put pointers to its directory tree in the DTA after Fsfirst
>or Fsnext, but TOS 1.4 does not.  You can do as many Fsfirst calls
>as you like; no OS resources are tied up after the call.

What exactly does TOS store in the DTA?  If it is information pointing to
the disk, how does TOS know it is still valid when Fsnext is called?
(The directory might have been deleted and the cluster reused in the
meantime...)  What error codes must be expected?