Mail Archives: djgpp-workers/2001/08/15/18:49:08
> From: "Tim Van Holder" <tim DOT van DOT holder AT pandora DOT be>
> Date: Wed, 15 Aug 2001 19:54:44 +0200
>
> Odd this - if a DOS box crashes under DJGPP (say, as a result
> of selector exhaustion), files that were open in that session
> are unremovable by DJGPP tools.
I've seen this. I think it's a Windows ``feature'': it still thinks
those files are open by some program. You can verify that by running
a loop which calls function 440Dh, subfunction 086Dh of Int 21h (see
the details below).
> The current autoconf testsuite is a huge shell script and can
> no longer run to completion (it crashes the DOS box around
> test number 140 of 157). If I open a new DOS box after such
> a crash, and run 'make clean' in the tests directory, rm
> complains it cannot remove testsuite.log, at-stderr and
> at-stdout, all files that were open during the testsuite run.
> 4DOS' (and presumably command.com's) 'del' deletes them without
> a hitch.
That's not what I've seen: in my cases, DEL also won't delete the
files. What error code does `rm' report?
You might consider stepping into `remove' and seeing what exactly
fails there, and how.
--------D-21440DCX086D-----------------------
INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - ENUMERATE OPEN FILES
AX = 440Dh
CX = 086Dh / 486Dh
(category code 08h for FAT12/16, 48h for FAT32; minor code 6Dh)
BL = drive number (00h=default,01h=A:,etc)
DS:DX -> buffer for ASCIZ pathname
SI = file index (0000h to number of open files-1)
DI = enumeration type (0000h all files, 0001h unmovable files)
Return: CF set on error
AX = error code (01h,02h,12h,etc.) (see #01680 at AH=59h/BX=0000h)
0012h if file index is out of range
CF clear if successful
AX = file open mode (BX from AX=6C00h or AX=716Ch)
CX = file type (see #01577)
SeeAlso: AX=440Dh"DOS 3.2+",AX=440Dh/CX=084Ah,AX=440Dh/CX=086Ch
SeeAlso: AX=440Dh/CX=086Eh,AX=6C00h,AX=716Ch
(Table 01577)
Values for file type:
0000h normal file
0001h memory-mapped file (unmovable)
0002h unmovable file
0004h swap file
- Raw text -