about summary refs log tree commit diff
path: root/src/nix-worker/nix-worker.cc
AgeCommit message (Collapse)AuthorFilesLines
2012-02-09 Use data() instead of c_str() where appropriateEelco Dolstra1-1/+1
2011-12-20 * Fix the build.Eelco Dolstra1-1/+1
2011-12-16 * Sync with the trunk.Eelco Dolstra1-37/+49
2011-12-16 * importPath() -> importPaths(). Because of buffering of the inputEelco Dolstra1-15/+13
stream it's now necessary for the daemon to process the entire sequence of exported paths, rather than letting the client do it.
2011-12-16 * Avoid expensive conversions from char arrays to STL strings.Eelco Dolstra1-10/+5
2011-12-16 * Make the import operation through the daemon much more efficientEelco Dolstra1-8/+16
(way fewer roundtrips) by allowing the client to send data in bigger chunks. * Some refactoring.
2011-12-15 * Refactoring: move sink/source buffering into separate classes.Eelco Dolstra1-5/+3
* Buffer the HashSink. This speeds up hashing a bit because it prevents lots of calls to the hash update functions (e.g. nix-hash went from 9.3s to 8.7s of user time on the closure of my /var/run/current-system).
2011-12-14 * Buffer writes in FdSink. This significantly reduces the number ofEelco Dolstra1-7/+9
system calls / context switches when dumping a NAR and in the worker protocol.
2011-12-01 * Slight improvement.Eelco Dolstra1-3/+2
2011-12-01 * When doing "nix-store --add-fixed" without "--recursive" via the NixEelco Dolstra1-2/+14
daemon (which is an error), print a nicer error message than "Connection reset by peer" or "broken pipe". * In the daemon, log errors that occur during request parameter processing.
2011-11-06 Include all outputs of derivations in the closure of explicitly-passed ↵Shea Levy1-0/+10
derivation paths This required adding a queryOutputDerivationNames function in the store API
2010-12-17 * Propagate the "100" exit status for failed builds through the NixEelco Dolstra1-2/+3
daemon.
2010-12-13 * Update some comments.Eelco Dolstra1-3/+2
2010-11-17 * Before a build, show the disk space that the downloaded store pathsEelco Dolstra1-0/+2
will approximately require.
2010-11-17 * Implement RemoteStore::queryPathInfo().Eelco Dolstra1-0/+13
2010-08-24 * Sync with the trunk.Eelco Dolstra1-0/+3
2010-08-12 * Make --cores work when building through the Nix daemon.Eelco Dolstra1-0/+3
2010-08-04 * Sync with the trunk.Eelco Dolstra1-0/+2
2010-06-24 Include <cstring> to ensure that strcpy(), strlen(), and memset() are declared.Peter Simons1-0/+2
An "using namespace std" was added locally in those functions that refer to names from <cstring>. That is not pretty, but it's a very portable solution, because strcpy() and friends will be found in both the 'std' and in the global namespace.
2010-05-04 * Allow unprivileged users to do `nix-store --clear-failed-paths' andEelco Dolstra1-0/+17
`nix-store --query-failed-paths'.
2010-02-26 * Implement RemoteStore::queryValidPaths().Eelco Dolstra1-0/+8
2010-02-25 * Implement RemoteStore::queryDerivationOutputs().Eelco Dolstra1-2/+4
2010-02-24 * `helpText' is now zero-terminated.Eelco Dolstra1-1/+1
2009-11-20 * Remove the --use-atime / --max-atime garbage collector flags. ManyEelco Dolstra1-2/+3
(Linux) machines no longer maintain the atime because it's too expensive, and on the machines where --use-atime is useful (like the buildfarm), reading the atimes on the entire Nix store takes way too much time to make it practical.
2009-09-30 * Support platforms that don't have O_ASYNC (e.g. OpenSolarisEelco Dolstra1-3/+17
apparently).
2009-03-23 * Shut up a GCC warning.Eelco Dolstra1-2/+2
2008-12-16 * Pass --use-atime / --max-atime to the daemon.Eelco Dolstra1-0/+4
2008-12-12 * We can't use string objects in signal handlers because they mightEelco Dolstra1-4/+4
allocate memory, which is verboten in signal handlers. This caused random failures in the test suite on Mac OS X (triggered by the spurious SIGPOLL signals on Mac OS X, which should also be fixed).
2008-12-03 * addToStore() in nix-worker: don't write the NAR dump received fromEelco Dolstra1-6/+52
the client to a temporary directory, as that is highly inefficient.
2008-12-03 * Backwards compatibility.Eelco Dolstra1-4/+9
2008-12-03 * Pass HashType values instead of strings.Eelco Dolstra1-1/+1
2008-12-03 * Unify the treatment of sources copied to the store, and recursiveEelco Dolstra1-2/+2
SHA-256 outputs of fixed-output derivations. I.e. they now produce the same store path: $ nix-store --add x /nix/store/j2fq9qxvvxgqymvpszhs773ncci45xsj-x $ nix-store --add-fixed --recursive sha256 x /nix/store/j2fq9qxvvxgqymvpszhs773ncci45xsj-x the latter being the same as the path that a derivation derivation { name = "x"; outputHashAlgo = "sha256"; outputHashMode = "recursive"; outputHash = "..."; ... }; produces. This does change the output path for such fixed-output derivations. Fortunately they are quite rare. The most common use is fetchsvn calls with SHA-256 hashes. (There are a handful of those is Nixpkgs, mostly unstable development packages.) * Documented the computation of store paths (in store-api.cc).
2008-11-20 * Nix daemon: reload the configuration file after forking (NIX-100).Eelco Dolstra1-1/+5
2008-11-14 * Prevent zombies. Previous the SIGCHLD handler only reaped oneEelco Dolstra1-1/+1
zombie at a time, so if multiple children died before the handler got to run, some of them would not be cleaned up.
2008-11-12 * Some somewhat ad hoc mechanism to allow the build farm to monitorEelco Dolstra1-1/+4
build progress.
2008-11-11 * Pass the --no-build-output flag to the daemon.Eelco Dolstra1-0/+2
2008-08-04 * querySubstitutablePathInfo: work properly when run via the daemon.Eelco Dolstra1-2/+16
* --dry-run: print the paths that we don't know how to build/substitute.
2008-06-18 * Some refactoring: put the GC options / results in separate structs.Eelco Dolstra1-12/+13
* The garbage collector now also prints the number of blocks freed.
2008-06-14 * nix-worker: clean up the temporary root for the worker processes Eelco Dolstra1-0/+2
in /nix/var/nix/temproots.
2008-06-09 * Merged the no-bdb branch (-r10900:HEADEelco Dolstra1-1/+1
https://svn.nixos.org/repos/nix/nix/branches/no-bdb).
2008-04-09 * sockaddr_un doesn't allow path names of more than 108 characters.Eelco Dolstra1-3/+11
This isn't usually a problem, except that it causes tests to fail when performed in a directory with a very long path name. So chdir to the socket directory and use a relative path name.
2008-03-20 * Disable the don't-run-as-root sanity check because it breaks RPMEelco Dolstra1-0/+2
builds (which are done as root...).
2007-11-16 * Flag `--no-build-hook' to disable distributed builds.Eelco Dolstra1-2/+5
* queryDeriver in daemon mode: don't barf if the other side returns an empty string (which means there is no deriver).
2007-09-18 * Pass various options to the worker so that flags like -K or -j workEelco Dolstra1-1/+19
in multi-user Nix (NIX-72). * Client/worker: exchange a protocol version number for future compatibility.
2007-08-30 * Create the Nix daemon socket in a separate directoryEelco Dolstra1-1/+4
(/nix/var/nix/daemon-socket). This allows access to the Nix daemon to be restricted by setting the mode/ownership on that directory as desired, e.g. $ chmod 770 /nix/var/nix/daemon-socket $ chown root.wheel /nix/var/nix/daemon-socket to allow only users in the wheel group to use Nix. Setting the ownership on a socket is much trickier, since the socket must be deleted and recreated every time the daemon is started (which would require additional Nix configuration file directives to specify the mode/ownership, and wouldn't support arbitrary ACLs), some BSD variants appear to ignore permissions on sockets, and it's not clear whether the umask is respected on every platform when creating sockets.
2007-06-12 * Support queryDeriver() in multi-user installations.Eelco Dolstra1-0/+9
2007-03-28 * Handle ECONNRESET from the client. Also, don't abort() if there areEelco Dolstra1-4/+9
unexpected conditions in the SIGPOLL handler, since that messes up the Berkeley DB environment (which a client must never be able to trigger).
2007-02-22 * Handle EINTR in select().Eelco Dolstra1-3/+3
2007-02-21 * `nix-store --import' now also works in remote mode. The workerEelco Dolstra1-1/+35
always requires a signature on the archive. This is to ensure that unprivileged users cannot add Trojan horses to the Nix store.
2007-02-21 * Support exportPath() in remote mode.Eelco Dolstra1-0/+26