1. 12 Aug, 2018 1 commit
    • Kenton Varda's avatar
      Make sure capnpc plugins on Windows get a proper EOF. · a65bce17
      Kenton Varda authored
      On Windows, we don't have `fork()` and `exec()`, but rather `spawn()`, which does both in one call. This makes FD inheritance hard -- the parent process has to set up its own FD table to be what it wants the child to receive, then call spawn(), then set things back.
      
      `capnp` does all that, but there was a problem: when it created a pipe, it failed to set the FDs as non-inheritable (Windows equivalent of CLOEXEC). Thus the child would implicitly inherit both ends of the pipe without knowing it. Since it would never close the write end, it would never receive EOF on the read end.
      
      The fix turns out to be simple: create the pipe non-inheritable. We are already separately using `dup2()` to create the copy of the descriptor that we actually want inherited.
      
      Fixes #488.
      a65bce17
  2. 11 Jan, 2018 1 commit
    • Kenton Varda's avatar
      Replace all include guards with #pragma once. · 677a52ab
      Kenton Varda authored
      @kloepper pointed out a while back that every compiler you've ever heard of supports this. Plus, it's more concise, it's not prone to copy-paste errors, and it looks nicer.
      
      At the time I wanted to remain consistent and I didn't feel like spending the time to update all my existing code. But, every time I've added a new header since I've cursed the include guard, so I finally broke down and changed it.
      677a52ab
  3. 29 Jul, 2016 1 commit
    • Vitali Lovich's avatar
      Fix build compatability with Android · cbacb180
      Vitali Lovich authored
      Add missing include when building on Linux
      
      Discovered trying to build on Android using CMake.  UIO_MAXIOV is only
      exported by the linux/uio.h header which was never included.  Not sure
      how normal Linux builds work.
      
      Add missing reinterpret cast from const void* to const byte*.
      
      Remove -pthread compile flag when building under Android.  ANDROID cmake
      variable exported by android-cmake project.
      cbacb180
  4. 20 May, 2016 1 commit
    • Harris Hancock's avatar
      Depend on kj/miniposix.h instead of unistd.h in most places · 669469ca
      Harris Hancock authored
      This is necessary to get things working in MSVC. Note I swapped unistd.h
      for miniposix.h in the compiler, too, which will be necessary to port the
      compiler to MSVC.
      
      This commit also pulls capnp/compiler/capnp.c++'s pipe() implementation
      details (i.e., 8k reserved memory, _O_BINARY mode) into kj/miniposix.h.
      669469ca
  5. 27 Apr, 2016 1 commit
  6. 16 May, 2015 1 commit
  7. 23 Nov, 2014 2 commits
  8. 22 Nov, 2014 2 commits
  9. 20 Jun, 2014 1 commit
    • Kenton Varda's avatar
      Change license to MIT. · 889204fe
      Kenton Varda authored
      For portions currently copyright by Kenton (most of it), transfer copyright to Sandstorm Development Group, Inc. (Kenton's company).
      
      The license change is practically meaningless, as MIT and BSD 2-clause are legally equivalent. However, the BSD 2-clause license is sometimes confused for its ugly siblings, BSD 3-clause and BSD 4-clause. The MIT license is more immediately recognizeable for what it is.
      
      Rémy Blank and Jason Choy (the two non-trivial contributors) are on record as approving this change:
      
      https://groups.google.com/d/msg/capnproto/xXDd2HUOCcc/gbe_COIuXKYJ
      889204fe
  10. 04 Dec, 2013 1 commit
  11. 18 Nov, 2013 1 commit
  12. 03 Nov, 2013 1 commit
  13. 20 Jul, 2013 1 commit
  14. 06 Jun, 2013 2 commits
  15. 04 Jun, 2013 2 commits
  16. 01 Jun, 2013 1 commit
  17. 31 May, 2013 1 commit
  18. 30 May, 2013 1 commit
  19. 29 May, 2013 1 commit
  20. 15 Apr, 2013 1 commit
  21. 14 Apr, 2013 1 commit
  22. 16 Mar, 2013 2 commits
  23. 26 Feb, 2013 1 commit