X-Authentication-Warning: delorie.com: mailnull set sender to djgpp-workers-bounces using -f Date: Fri, 05 Apr 2002 18:58:38 +0300 From: "Eli Zaretskii" Sender: halo1 AT zahav DOT net DOT il To: Richard Dawe Message-Id: <2110-Fri05Apr2002185837+0300-eliz@is.elta.co.il> X-Mailer: emacs 21.2.50 (via feedmail 8 I) and Blat ver 1.8.9 CC: djgpp-workers AT delorie DOT com In-reply-to: <3CAD983A.1B61E2B6@phekda.freeserve.co.uk> (message from Richard Dawe on Fri, 05 Apr 2002 13:27:38 +0100) Subject: Re: FSEXT: grow_table and realloc failure References: <2110-Fri05Apr2002091207+0300-eliz AT is DOT elta DOT co DOT il> <3CAD72DF DOT ECCADD44 AT phekda DOT freeserve DOT co DOT uk> <8361-Fri05Apr2002142038+0300-eliz AT is DOT elta DOT co DOT il> <3CAD983A DOT 1B61E2B6 AT phekda DOT freeserve DOT co DOT uk> Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > Date: Fri, 05 Apr 2002 13:27:38 +0100 > From: Richard Dawe > > Eli Zaretskii wrote: > [snip] > > I have no objections to the patch, although it strikes me that it > > would be easier to have a constant-size table in the first place. > > After all, the max number of handles we can have is quite small... > > When testing on Windows 98 SE I found that it seemed to max out of filehandles > at about ~200. Presumably DOS is the limiting factor in the number of > filehandles? A DOS program cannot have more than 255 handles available to it, since the table which gives the SFT entry for each handle allocates a single byte for the handle. This gives 256 handles max, but the value FFh is used for unused handles. So we are left with 255, including the 5 standard handles. > If we had SuperDuperDOS that supported > 256 filehandles, then > we'd hit the limit. A DOS clone cannot overcome this limit without causing serious compatibility problems, since the structure of the table that holds the handles (JFT, the Job File Table) is well documented, and there are programs that depend on that structure (this includes our own code in lstat.c and in dbgcom.c).