lix/src/libstore
Eelco Dolstra f0358ed465 Fix a hang in nix-copy-ssh.sh
This hang for some reason didn't trigger in the Nix build, but did
running 'make installcheck' interactively. What happened:

* Store::addMultipleToStore() calls a SinkToSource object to copy a
  path, which in turn calls LegacySSHStore::narFromPath(), which
  acquires a connection.

* The SinkToSource object is not destroyed after the last bytes has
  been read, so the coroutine's stack is still alive and its
  destructors are not run. So the connection is not released.

* Then when the next path is copied, because max-connections = 1,
  LegacySSHStore::narFromPath() hangs forever waiting for a connection
  to be released.

The fix is to make sure that the source object is destroyed when we're
done with it.
2022-08-23 14:19:53 +02:00
..
build don't read outputs into memory for output rewriting 2022-08-19 11:26:26 +02:00
builtins moveFile -> renameFile 2022-08-03 10:27:25 +02:00
tests Allow selecting derivation outputs using 'installable!outputs' 2022-05-03 13:43:52 +02:00
binary-cache-store.cc Remove std::string alias (for real this time) 2022-02-25 16:13:02 +01:00
binary-cache-store.hh Factor out a LogStore interface 2022-03-11 13:32:16 +00:00
build-result.hh Remove duplicate "error:" 2022-04-08 11:48:30 +02:00
builtins.hh
ca-specific-schema.sql ca: add sqlite index on RealisationsRefs(realisationReference) 2022-04-21 10:06:39 +02:00
content-address.cc Fix use after free in content-address.cc 2021-11-23 16:15:34 +01:00
content-address.hh
crypto.cc Make sodium a required dependency 2021-01-06 17:56:53 +01:00
crypto.hh crypto.cc: API cleanup and add generate() / to_string() methods 2021-01-06 17:04:46 +01:00
daemon.cc Generalize DerivationType in preparation for impure derivations 2022-03-18 14:59:56 +00:00
daemon.hh
derivations.cc Get rid of most .at calls (#6393) 2022-05-04 07:44:32 +02:00
derivations.hh Rename 'pure' -> 'sandboxed' for consistency 2022-03-31 16:12:25 +02:00
derived-path.cc Get rid of most .at calls (#6393) 2022-05-04 07:44:32 +02:00
derived-path.hh nix profile install: Don't use queryDerivationOutputMap() 2022-03-28 14:23:39 +02:00
dummy-store.cc Remove std::string alias (for real this time) 2022-02-25 16:13:02 +01:00
export-import.cc Get rid of std::shared_ptr<std::string> and ref<std::string> 2022-01-18 11:12:30 +01:00
filetransfer.cc add a nix.conf option to set a download speed limit 2022-08-19 12:40:22 +02:00
filetransfer.hh doc: rephrase connect-timeout help message 2022-04-17 18:17:37 -05:00
fs-accessor.hh Use the fs accessor for readInvalidDerivation 2020-12-15 20:10:46 +01:00
gc-store.hh Deduplicate the Store downcasting with a template 2022-03-11 13:32:33 +00:00
gc.cc moveFile -> renameFile 2022-08-03 10:27:25 +02:00
globals.cc libstore/globals.cc: Move cgroup detection to libutil 2022-07-19 16:25:53 -04:00
globals.hh Spelling 2022-08-22 14:14:14 +02:00
http-binary-cache-store.cc HttpBinaryCacheStore::getFile(): Don't throw an exception 2022-05-30 13:24:04 +02:00
legacy-ssh-store.cc BuildResult: Use DerivedPath 2022-03-09 12:25:35 +01:00
local-binary-cache-store.cc moveFile -> renameFile 2022-08-03 10:27:25 +02:00
local-fs-store.cc Remove std::string alias (for real this time) 2022-02-25 16:13:02 +01:00
local-fs-store.hh Factor out a LogStore interface 2022-03-11 13:32:16 +00:00
local-store.cc Only use renameFile where needed 2022-08-03 10:27:25 +02:00
local-store.hh Factor out a GcStore interface 2022-03-03 19:01:25 +00:00
local.mk Merge pull request #6710 from edolstra/embedded-sandbox-shell 2022-06-23 15:34:16 +02:00
lock.cc fix(libstore/lock): support users that belong to more than 10 groups 2022-06-08 13:45:41 -04:00
lock.hh Remove std::string alias (for real this time) 2022-02-25 16:13:02 +01:00
log-store.hh Deduplicate the Store downcasting with a template 2022-03-11 13:32:33 +00:00
machines.cc Remove std::string alias (for real this time) 2022-02-25 16:13:02 +01:00
machines.hh Remove std::string alias 2022-02-21 16:37:25 +01:00
make-content-addressed.cc Add a test for fetchClosure and 'nix store make-content-addressed' 2022-03-24 21:33:33 +01:00
make-content-addressed.hh fetchClosure: Allow a path to be rewritten to CA on the fly 2022-03-24 21:33:33 +01:00
misc.cc Get rid of most .at calls (#6393) 2022-05-04 07:44:32 +02:00
names.cc return string_views from forceString* 2022-01-27 17:15:43 +01:00
names.hh Remove std::string alias 2022-02-21 16:37:25 +01:00
nar-accessor.cc Remove std::string alias (for real this time) 2022-02-25 16:13:02 +01:00
nar-accessor.hh Get rid of std::shared_ptr<std::string> and ref<std::string> 2022-01-18 11:12:30 +01:00
nar-info-disk-cache.cc [fixup] handle cache expiration in sqlite query 2022-06-23 14:54:25 -04:00
nar-info-disk-cache.hh Add a realisations disk cache 2021-05-06 17:38:20 +02:00
nar-info.cc libstore/nar-info: drop unused system field 2022-06-23 14:25:10 -04:00
nar-info.hh libstore/nar-info: drop unused system field 2022-06-23 14:25:10 -04:00
nix-store.pc.in
optimise-store.cc moveFile -> renameFile 2022-08-03 10:27:25 +02:00
parsed-derivations.cc Generalize DerivationType in preparation for impure derivations 2022-03-18 14:59:56 +00:00
parsed-derivations.hh Clean up DerivationOutput, and headers 2022-03-17 22:35:53 +00:00
path-info.cc Low-latency closure copy 2021-07-26 13:31:09 +02:00
path-info.hh Low-latency closure copy 2021-07-26 13:31:09 +02:00
path-with-outputs.cc nix profile: Support overriding outputs 2022-05-03 15:00:34 +02:00
path-with-outputs.hh nix profile: Support overriding outputs 2022-05-03 15:00:34 +02:00
path.cc Add support for impure derivations 2022-03-31 13:43:20 +02:00
path.hh Add support for impure derivations 2022-03-31 13:43:20 +02:00
pathlocks.cc Remove std::string alias (for real this time) 2022-02-25 16:13:02 +01:00
pathlocks.hh Remove std::string alias (for real this time) 2022-02-25 16:13:02 +01:00
profiles.cc Remove std::string alias (for real this time) 2022-02-25 16:13:02 +01:00
profiles.hh Remove std::string alias (for real this time) 2022-02-25 16:13:02 +01:00
realisation.cc Fix the build with nlohmann/json 3.10.4+ 2022-01-19 14:37:54 +01:00
realisation.hh buildPaths(): Add an evalStore argument 2021-07-22 09:59:51 +02:00
references.cc Remove std::string alias (for real this time) 2022-02-25 16:13:02 +01:00
references.hh Add a test for RefScanSink and clean up the code 2021-10-04 14:29:42 +02:00
remote-fs-accessor.cc Get rid of std::shared_ptr<std::string> and ref<std::string> 2022-01-18 11:12:30 +01:00
remote-fs-accessor.hh Get rid of std::shared_ptr<std::string> and ref<std::string> 2022-01-18 11:12:30 +01:00
remote-store.cc Merge remote-tracking branch 'origin/master' into parallel-nix-copy 2022-08-22 15:29:10 +02:00
remote-store.hh Indentation 2022-08-22 15:32:53 +02:00
repair-flag.hh Clean up DerivationOutput, and headers 2022-03-17 22:35:53 +00:00
s3-binary-cache-store.cc Remove std::string alias (for real this time) 2022-02-25 16:13:02 +01:00
s3-binary-cache-store.hh Overhaul store subclassing 2020-12-20 15:47:14 +00:00
s3.hh Fix libcxx build 2022-04-28 14:37:05 +02:00
sandbox-defaults.sb fix(libstore): allow Nix to access all Rosetta 2 paths on MacOS 2022-07-15 12:10:56 -07:00
sandbox-minimal.sb
sandbox-network.sb
schema.sql schema.sql: add comment about hash being in base16 2022-06-01 14:59:57 +02:00
serve-protocol.hh nix-store --serve: pass on settings.keepFailed from SSH store 2021-08-31 13:11:46 +02:00
sqlite.cc Actually, solve this in a lighter-weight way 2022-04-20 17:37:59 +00:00
sqlite.hh Make the default SQLiteError constructor public 2022-04-21 09:40:55 +02:00
ssh-store.cc Factor out a LogStore interface 2022-03-11 13:32:16 +00:00
ssh.cc Remove std::string alias (for real this time) 2022-02-25 16:13:02 +01:00
ssh.hh distributed builds: load remote builder host key from the machines file 2021-02-25 09:17:34 -05:00
store-api.cc Fix a hang in nix-copy-ssh.sh 2022-08-23 14:19:53 +02:00
store-api.hh Indentation 2022-08-22 15:32:53 +02:00
store-cast.hh Deduplicate the Store downcasting with a template 2022-03-11 13:32:33 +00:00
uds-remote-store.cc Non-blocking garbage collector 2021-10-13 12:12:44 +02:00
uds-remote-store.hh Shut down write side before draining the read side 2021-09-23 18:01:04 +02:00
worker-protocol.hh Add Store::buildPathsWithResults() 2022-03-08 19:56:34 +01:00