State Maintainer: TrackOpenFiles

stateblock TrackOpenFiles augments RFileSystem {
  addstate RFileSystem.openFiles: int = 0;

  precode openRead (file: RFile), openCreate (file: RFile), 
          openOverwrite (file: RFile), openAppend (file: RFile) {
    openFiles++;
  }     
  
  postcode close (file: RFile) {
    openFiles--;
  }
}

About this file

Naccio Home Page
David Evans
University of Virginia, Computer Science