A modern, delicious implementation of the Nix package manager, focused on correctness, usability, and growth — and committed to doing right by its community
Find a file
Ludovic Courtès 51800e06de Allow recovery from isValidPath RPCs with an invalid path
Currently, clients cannot recover from an isValidPath RPC with an
invalid path parameter because the daemon closes the connection when
that happens.

More precisely:

  1. in performOp, wopIsValidPath case, ‘readStorePath’ raises an
     ‘Error’ exception;

  2. that exception is caught by the handler in ‘processConnection’;

  3. the handler determines errorAllowed == false, and thus exits after
     sending the message.

This last part is fixed by calling ‘startWork’ early on, as in the patch
below.

The same reasoning could be applied to all the RPCs that take one or
more store paths as inputs, but isValidPath is, by definition, likely to
be passed invalid paths in the first place, so it’s important for this
one to allow recovery.
2014-03-18 23:22:49 +01:00
config Add config.guess, config.sub and install-sh 2013-11-25 11:26:02 +00:00
corepkgs Remove Automakefiles 2014-02-01 13:54:38 +01:00
doc Document nix-env -q --json 2014-03-12 14:25:48 +01:00
misc Remove Automakefiles 2014-02-01 13:54:38 +01:00
mk Merge commit 'a210c995cdd9279ed4137ec5d2e4cc928cb36097' 2014-02-07 16:27:34 +01:00
perl Fix "make dist" 2014-02-01 14:38:12 +01:00
scripts nix-build: Fix --cores flag 2014-03-17 17:33:13 +01:00
src Allow recovery from isValidPath RPCs with an invalid path 2014-03-18 23:22:49 +01:00
tests If a dynamic attribute name evaluates to null, remove it from the set 2014-03-10 10:14:50 +01:00
.gitignore Generate release notes again 2014-03-12 14:24:29 +01:00
AUTHORS * Put something in here. 2004-11-07 20:30:02 +00:00
bootstrap.sh bootstrap: Simplify & make more robust. 2011-09-06 12:11:05 +00:00
build.nix Add an experimental nix-make file 2012-05-21 09:43:01 -04:00
configure.ac Build/install manual 2014-02-01 11:30:21 +01:00
COPYING * Change this to LGPL to keep the government happy. 2006-04-25 16:41:06 +00:00
dev-shell Hack to clean up tests/test-tmp 2013-08-21 12:53:46 +02:00
INSTALL * Autoconf / Automake configuration and building. 2003-04-04 16:14:56 +00:00
local.mk Install missing Boost headers 2014-03-05 11:11:24 +01:00
Makefile Add download-via-ssh substituter 2014-02-08 00:13:33 -05:00
Makefile.config.in Generate release notes again 2014-03-12 14:24:29 +01:00
nix.spec.in Fix the RPM build 2014-02-07 17:36:04 +01:00
README * Install documentation in $(docdir) (i.e. share/doc/nix). 2008-11-19 13:19:09 +00:00
release.nix Generate release notes again 2014-03-12 14:24:29 +01:00
version Bump version number 2013-11-19 14:45:19 +01:00

Nix is a purely functional package manager.  For installation and
usage instructions, please read the manual, which can be found in
`docs/manual/manual.html', and additionally at the Nix website at
<http://nixos.org/>.


Acknowledgments

This product includes software developed by the OpenSSL Project for
use in the OpenSSL Toolkit (http://www.OpenSSL.org/).