Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nix
base: 44e86304b611
Choose a base ref
...
head repository: NixOS/nix
compare: 97504300032c
Choose a head ref
  • 3 commits
  • 3 files changed
  • 1 contributor

Commits on Sep 26, 2018

  1. sinkToSource(): Start the coroutine lazily

    In particular this causes copyStorePath() from HttpBinaryCacheStore to
    only start a download if needed. E.g. if the destination LocalStore
    goes to sleep waiting for the path lock and another process creates
    the path, then LocalStore::addToStore() will never read from the
    source so we don't have to do the download.
    edolstra committed Sep 26, 2018
    Copy the full SHA
    ed78582 View commit details
    Browse the repository at this point in the history
  2. Untabify

    edolstra committed Sep 26, 2018
    Copy the full SHA
    98b2cc2 View commit details
    Browse the repository at this point in the history
  3. Ensure download thread liveness

    * Don't wait forever for the client to remove data from the
      buffer. This does mean that the buffer can grow without bounds
      (e.g. when downloading is faster than writing to disk), but meh.
    
    * Don't hold the state lock while calling the sink. The sink could
      take any amount of time to process the data (in particular when it's
      actually a coroutine), so we don't want to block the download
      thread.
    edolstra committed Sep 26, 2018
    Copy the full SHA
    9750430 View commit details
    Browse the repository at this point in the history