1. 31 Jan, 2019 2 commits
  2. 30 Jan, 2019 1 commit
    • SamwiseFilmore's avatar
      Support Namespaces; Use syscalls to impl Command · b95e039a
      SamwiseFilmore authored
      While attempting to implement namespaces for services, I found that
      std::process::Command was inadequate for the task, so this commit
      includes a reimplementation of it with redox syscalls. It's not as good,
      but it does what I need, and hopefully will be improved upon as I
      continue to work on this.
      Namespaces work now!
  3. 28 Jan, 2019 1 commit
    • SamwiseFilmore's avatar
      Add users/groups; Env changes; Undo Rayon; Docs · f9ab21b2
      SamwiseFilmore authored
      A username and group name can optionally be included in a service config
      file so that that service is run as a user other than root. These can be
      defined on the service level (applies to every method), or
      defined/overridden on the method level.
      I also wrote up some documentation here, hopefully can help people
      approaching the codebase for the first time.
  4. 25 Jan, 2019 1 commit
  5. 24 Jan, 2019 3 commits
    • SamwiseFilmore's avatar
      Use git CHashMap; Trace calls · f109eac8
      SamwiseFilmore authored
      Still trying to debug the invalid opcode issue. At this point I've
      determined that it's probably not specifically my program doing it,
      although I'm really not sure.
    • SamwiseFilmore's avatar
      WIP: Use sync primitives; Better Path::scheme impl · 7ea54437
      SamwiseFilmore authored
      ServiceGraph is now a thread-safe data structure, using an RwLock for
      the DepGraph and CHashMaps for everything else. That also means it has
      complete interior mutability, so it should be much easier to share
      across threads.
      Disclaimer: I haven't been able to test this commit because it triggers
      an invalid opcode fault without panicking. Currently working on
      debugging this.
    • SamwiseFilmore's avatar
      Refactor; Add CHashmap for better concurrency · 4ca81a60
      SamwiseFilmore authored
      Currently using `DepGraph::grouped_resolve` in order to ease into naive
      parallel service startup, also changed the way things are done inside
      ServiceGraph, and added commented out code for rayon integration
      (currently rayon is having all kinds of low-level issues).
  6. 23 Jan, 2019 2 commits
    • SamwiseFilmore's avatar
      Fix Provides; Refactoring · 72791b4d
      SamwiseFilmore authored
      I'm pretty happy with the state of this at this point. It's not ideal,
      and I'm certainly not solving all the problems I wanted to, but I'm
      making tangible progress.
      Still to do includes refactoring into an event system to better suit
      async service starting and dependency resolution.
    • SamwiseFilmore's avatar
      Handle Environment Better · ef1371ed
      SamwiseFilmore authored
      This is a pretty big step towards having a functional init. Services
      have their environment's cleared before they are started, and their
      CWD's default to the scheme from which they were parsed. Both of these
      things are now configurable from the config file.
      This commit also has a little refactoring and other helpful fixes. Still
      has bugs, but it does work.
  7. 22 Jan, 2019 1 commit
  8. 17 Jan, 2019 1 commit
    • SamwiseFilmore's avatar
      WIP: Progress on Parallel startup; Fix CI · 8e5ff06f
      SamwiseFilmore authored
      A new algorithm for dependency resolution which resolves by groups,
      allowing for a naive form of parallel startup.
      Just added a .cargo/ with a cargo configuration specifying the linker
      for x86_64-unknown-redox.
  9. 16 Jan, 2019 1 commit
  10. 18 Dec, 2018 1 commit
  11. 13 Dec, 2018 1 commit
    • SamwiseFilmore's avatar
      Refactor · f2c9980b
      SamwiseFilmore authored
      I basically pushed some of the legacy stuff to a new module and added a
      nicer abstraction for the dependency graph which should make working
      with that part of the lib a lot nicer. Theoretically that part will get
      pulled into it's own crate when it's more mature.
  12. 11 Dec, 2018 1 commit
  13. 02 Dec, 2018 6 commits
  14. 15 Oct, 2018 1 commit
  15. 21 Oct, 2017 1 commit
  16. 10 Oct, 2017 2 commits
  17. 05 Oct, 2017 1 commit
  18. 01 Oct, 2017 1 commit
  19. 19 Aug, 2017 1 commit
  20. 03 Aug, 2017 1 commit
  21. 29 Jul, 2017 1 commit
  22. 26 Jul, 2017 2 commits
  23. 22 Jul, 2017 1 commit
  24. 16 Apr, 2017 1 commit
  25. 15 Apr, 2017 1 commit
  26. 13 Jan, 2017 3 commits
  27. 10 Jan, 2017 1 commit