TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: Paul Edwards
from: Peter Fitzsimmons
date: 1996-10-16 05:58:52
subject: file handles

PE> I have a new theory.  The theory is that the MSC CRT has a fixed array 
 PE> of 20 FILE's.  Now instead of doing as I would have 
 PE> expected, ie store the file number as one of the 
 PE> elements of the FILE structure, and not have any 
 PE> restriction on the number itself, e.g. 5975, what it 
 PE> is doing is getting the file number from DosOpen, e.g. 
 PE> 7, and then going to the 7th element of the array, and 
 PE> storing it there!  And if it gets a return file number

This is true (and so do all of the other CRT's i've seen the source code
 for; it's an easy way to get the fileno(), getc(), etc macros to work).

 PE> from OS/2 > 19, it can't put it anywhere, and fails!  
 PE> So in the extreme, a device driver may have set the 
 PE> maximum file handles to 500, and then proceeded to

It would not be a device driver,  but any global-context dll's you have
loaded (for example, key-popup programs,  PM hooks (they affect full screen
sessions too (wrt file handles),  since OS/2 2.x),  and probably a few
other things I can't think of right now.  Local filters (for example MORE
or SORT) may affect it too.

Do you have a lot of baggage running?  I simple test is to run:

 void nextfh(void)
 {
     FILE *f = fopen("out", "wb");
     fprintf(stderr, "fh = %u\n", fileno(f));
     fclose(f);
 }

If your system has no file-handle-bagage,  and you run this from main(),it
should display 3.




PE> And actually, the objective of all this is not to 
PE> create a program that 
PE> opens >14 files, the objective is to get MSC 6.00 
PE> to compile a program with 
PE> >5 include file depth in a TCP/IP environment,

Try moving all of the tcpip RUN= and CALL= from config.sys into a batch
file (as DETACH for RUN=) that you run later.  I'll bet the problem goes
away.


--- Maximus/2 3.00
* Origin: Sol 3 * Toronto * V.32 * (905)858-8488 (1:259/414)
SEEN-BY: 50/99 270/101 620/243 625/100 711/401 409 410 413 430 808 809 934
SEEN-BY: 711/955 712/407 515 624 628 713/888 800/1
@PATH: 259/414 400 99 250/99 3615/50 396/1 270/101 712/515 711/808 934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.