BUG: Cannot Bind Programs that Increase the Number of FilesLast reviewed: July 11, 1995Article ID: Q80319 |
The information in this article applies to:
SYMPTOMSPrograms that have been linked with the modified startup code that allows more than 15 open files will cause BIND.EXE to issue the following error:
bv3.obj(bindv3) : error L2029: 'DOSSETMAXFH' : unresolved external RESOLUTIONPrograms that increase the number of open files cannot be bound. To increase the number of available open files under OS/2 involves calling the OS/2 API DOSSETMAXFH. This API is not mapped during the binding process to the equivalent MS-DOS interrupt 21h, function 67h.
STATUSMicrosoft has confirmed this to be a bug in FORTRAN, version 5.1. This is not an issue in FORTRAN Powerstation.
MORE INFORMATIONThe following code is a good sample program to test how many files can be open at the same time. Compile with the following command line:
fl /Fb /Lp a.for unit crt0dat /link /noewhere UNIT.OBJ and CRT0DAT.OBJ are OS/2 startup code modules that have be modified to increase the number of file handles.
Sample code
character*12 buffer do i=1, 10000 write(buffer,'(i5,a)') i,'.dat' write(*,*) 'Filename is: ', buffer open(i,file=buffer,err=100,iostat=ierr) end do100 write(*,*) 'Error was: ',ierr
do j=1,i close(j,status='delete') end do end |
Additional reference words: 5.10
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |