1. 08 Jul, 2019 2 commits
    • Kenton Varda's avatar
      536e20e8
    • Kenton Varda's avatar
      Extend KJ event loop to support cross-thread events. · 0028d85c
      Kenton Varda authored
      The new `Executor` class provides an interface to run a function on some other thread's EventLoop.
      
      `kj::getCurrentThreadExecutor()` gets a reference to this thread's executor, which can then be exposed to other threads.
      
      When a thread requests execution of a function on another thread, the return value is returned to the requesting thread. The requesting thread may choose to wait synchronously for this return value or -- if the requesting thread has an event loop of its own -- it can get Promise for the eventual result.
      
      Meanwhile, orthogonally, the function can either return a raw result or return a Promise; in the latter case, the Promise is resolved to completion in the executor thread and the final result is sent back to the requesting thread.
      0028d85c
  2. 01 Jul, 2019 2 commits
  3. 30 Jun, 2019 2 commits
  4. 28 Jun, 2019 2 commits
    • Kenton Varda's avatar
      Merge pull request #855 from capnproto/empty-mmap · 9c7ba5f4
      Kenton Varda authored
      Fix filesystem API: Empty mmaps should succeed.
      9c7ba5f4
    • Kenton Varda's avatar
      Fix filesystem API: Empty mmaps should succeed. · 97673947
      Kenton Varda authored
      I had a snarky comment in the Windows code being annoyed that mapping an empty file was documented to fail... but it turns out zero-length mappings fail on Linux, too. Also my work-around on Windows didn't work (but was never tested).
      
      This PR fixes both.
      
      This was prompted by @KubaO observing that `capnp compile` on an empty source file failed with a cryptic mmap error.
      
      Closes #854, @KubaO's attempt at fixing this, since the correct fix is in the filesystem API, not in the compiler.
      97673947
  5. 27 Jun, 2019 5 commits
  6. 26 Jun, 2019 4 commits
  7. 22 Jun, 2019 1 commit
  8. 21 Jun, 2019 4 commits
  9. 20 Jun, 2019 3 commits
  10. 19 Jun, 2019 3 commits
  11. 18 Jun, 2019 12 commits