Do you check/change accounts when you open files? Changing accts will
probably cause issues. Check FILEINFO(). Also, dimensioned arrays can be
dynamically resized b might also be helpful?
SUB OPEN.FILE.SUB(FNAME,FVAR,ERR)
COMMON /OPEN.FILES/ FNAMELIST, FVARLIST(1), LAST.ACCT
$OPTIONS -STATIC.DIM ;* redimension array on the fly
IF UNASSIGNED(LAST.ACCT) THEN LAST.ACCT = bb ;* check account b
otherwise can screw up filepointers
IF @WHO # LAST.ACCT THEN
MAT FVARLIST = bb
FNAMELIST = bb
LAST.ACCT = @WHO
END
FIND FNAME IN FNAMELIST SETTING A THEN
IF FILEINFO(FVAR(A),0) THEN ;* valid file handle
b&
END ELSE
FNAMELIST = DELETE(FNAMELIST,A)
GOSUB OPEN.FILE:
END
END ELSE
GOSUB OPEN.FILE:
END
...
RETURN
OPEN.FILE:
NEXT.POS = DCOUNT(FNAMELIST,@AM) + 1
DIM FVARLIST(NEXT.POS) ;* redimension array on the fly
OPEN b&
b&
RETURN
Stuart Boydell
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of "Scott Ballinger"
<[EMAIL PROTECTED]>
Sent: Friday, 25 August 2006 10:08
To: [email protected]
Subject: [U2] Need help - UV intermittent & roving file open error
I have a little file open subroutine that I use in a lot of places to
keep open files in common:
Recently (within the last two weeks) I have started getting the
following error:
[SNIP]
Program "SB1": Line 6, Read operation failure. [EBADF] Bad file number
>
Any suggestions will be greatly appreciated- perhaps the "OPEN.FILE.SUB
needs to be more robust? I suppose I could do a test read like "READ XXX
FROM FILEVAR,"TEST" ON ERROR .... " after opening the file in the
OPEN.FILE.SUB, but that doesn't really solve the problem and seems like
a lot of overhead. OPEN.FILE.SUB is embedded in a lot of places and I
really don't want to have to replace it with discrete file opens
everywhere!
**********************************************************************
This email message and any files transmitted with it are confidential and
intended solely for the use of addressed recipient(s). If you have received
this email in error please notify the Spotless IS Support Centre (+61 3 9269
7555) immediately, who will advise further action. This footnote also confirms
that this email message has been scanned for the presence of computer related
viruses.
**********************************************************************
-------
u2-users mailing list
[email protected]
To unsubscribe please visit http://listserver.u2ug.org/