• @[email protected]
    link
    fedilink
    937 months ago

    LOL, some of the comments in the source are gold.

    https://github.com/microsoft/MS-DOS/blob/main/v4.0/src/DOS/ABORT.ASM

    Note:  We do need to explicitly close FCBs.  Reasons are as follows:  If we
    ; are running in the no-sharing no-network environment, we are simulating the
    ; 2.0 world and thus if the user doesn't close the file, that is his problem
    ; BUT...  the cache remains in a state with garbage that may be reused by the
    ; next process.  We scan the set and blast the ref counts of the FCBs we own.
    ;
    ; If sharing is loaded, then the following call to close process will
    ; correctly close all FCBs.  We will then need to walk the list AFTER here.
    ;
    ; Finally, the following call to NET_Abort will cause an EOP to be sent to all
    ; known network resources.  These resources are then responsible for cleaning
    ; up after this process.
    ;
    ; Sleazy, eh?~
    
      • @[email protected]
        link
        fedilink
        27 months ago

        I imagine that’s already a compatibility thing. If the os closed the file handles at that point but the program was expecting to do that, it might crash.