1. 08 Jun, 2018 1 commit
    • Robert Sprowson's avatar
      Delete some dead code · 7d614b57
      Robert Sprowson authored
      Since PipeFS registers with FileSwitch with both dontuseload and dontusesave there's no need to implement the corresponding FSEntry_File subreasons. This might have been left around because RISC OS 2 ignored FS info word flags b23-16, but we're not worrying about RISC OS 2 compatibility now.
      
      Version 0.24. Tagged as 'PipeFS-0_24'
      7d614b57
  2. 18 Aug, 2016 1 commit
    • Robert Sprowson's avatar
      Fix for NULL pointer access reporting monitor name · dea9b663
      Robert Sprowson authored
      PipeFS was carefully preserving R6 (the special field pointer, which is 0 for PipeFS) in the places where FileSwitch expects to get the leafname back when *OPT1,2 is enabled, resulting in a NULL pointer dereference in FileSwitch. Update R6 per the spec.
      Delete old switch justreturnextent from version 0.06.
      Delete unused Help & Syntax, these are now in Resources/UK.
      
      Version 0.23. Tagged as 'PipeFS-0_23'
      dea9b663
  3. 14 May, 2001 2 commits
    • Kevin Bracey's avatar
      Added "32-bit compatible" module flag. · 1b38b56e
      Kevin Bracey authored
      Version 0.22. Tagged as 'PipeFS-0_22'
      1b38b56e
    • Dan Ellis's avatar
      Fixed Sleep No More, and made 32-bit compatible. · 727584b9
      Dan Ellis authored
      Detail:
        PipeFS uses UpCall 6 (Sleep) to signal that the reading process can sleep,
      using the size of the file as a pollword.  Thus when any data is written into
      the pipe, the sleeping process will be woken up.  If an attempt is made to
      close the file handle, UpCall 7 (Sleep No More) is broadcast to allow anyone
      to object to the closure occurring.  Pipe_Close wasn't checking the error
      return from making this call, which was an error.  It will now propogate this
      error up to fileswitch upon an attempt being made to close the file while a
      process is sleeping on it.
      
        32-bitness involved changing a load of TEQPs for RestPSRs, and fixing some
      functions which had forgotten to use [sp, #Proc_RegOffset].
      
        Also added !Mk and added stripdepend to MkClean.
      
      Admin:
        Tested on dev board and RiscPC running a fairly recent Ursula build.
      Version 0.21. Tagged as 'PipeFS-0_21'
      727584b9
  4. 11 Apr, 2001 1 commit
    • David Cotton's avatar
      Converted to use ObjASM and shared makefiles. · 8523ee58
      David Cotton authored
      Detail:
          Converted to use ObjASM and shared makefiles. Added MkRes and MkExp obey
      files.
      
      Admin:
          Built. This module is *not* yet 32-bit compatible.
      
      Version 0.20. Tagged as 'PipeFS-0_20'
      8523ee58
  5. 22 Jan, 2001 1 commit
    • Andrew Hodgkinson's avatar
      File heap moved to private dynamic area; much more efficient UpCall generation. · 2dae69a3
      Andrew Hodgkinson authored
      Detail:
        Use of the RMA by PipeFS could lead to fragmentation, and is slower
        than a private dynamic area as the RMA's a very busy heap. The new
        dynamic area is set to 16MB maximum size, called "PipeFS", and the
        code is compile-time switched, not run-time.
      
        PipeFS has no block handling code so its get/put byte routines are
        called by the OS in a tight loop. Unfortunately for each byte it
        reads/writes it issues UpCall_ModifyingFile, and moreover does this
        without specifying a filename, so *all* directories are rescanned -
        for every single byte read or written to PipeFS. This is why PipeFS
        is so extremely slow prior to this version. Now, a callback is set,
        and the UpCall only issued when this goes off - after any block
        transfers, for example. A typical effect is a 171K file save from a
        text editor to PipeFS used to take around 20 seconds, and now takes
        less than a quarter of a second. Streaming data through PipeFS is
        now a sensible option.
      
        There are two variants of the callback code; one maintans an array
        of filename pointers and goes through the list each time the call-
        back fires; the other just issues a general UpCall each time. The
        first one should work OK, and is there in case anyone ever works
        out how to use R1 properly for the UpCall.
      Admin:
        Copied files into PipeFS up to the DA limit and verified sensible
        behaviour at this point; memory released as expected on file
        removal; files appear to be intact; MP3 streaming at 128kbps from
        network or disc through PipeFS is reliable; Filer window behaviour
        with "full info" on and Task Manager display of dynamic area size
        act as expected.
      
        By default, the compile-time options mean the module will only run on
        RISC OS 3.5 or later. Tested on RISC OS 3.70 only.
      
      Version 0.19. Tagged as 'PipeFS-0_19'
      2dae69a3
  6. 27 Aug, 1999 1 commit
    • Neil Bingham's avatar
      * Fixed mistake in makefile. · 2ab1d6f2
      Neil Bingham authored
      Detail
      ------
        * Under the resources: rule the dependency resources-{$CMDHELP} was
          spelt as resource-{$CMDHELP} which is not a valid dependency.
      Admin
      -----
        * Tested on Ursula build.
      
      Version 0.18. Tagged as 'PipeFS-0_18'
      2ab1d6f2
  7. 17 Aug, 1999 2 commits