Add Store nesting to fix import-from-derivation within filterSource
This commit is contained in:
parent
98a2adb135
commit
4bc00760f9
2 changed files with 18 additions and 0 deletions
|
@ -414,7 +414,9 @@ Path RemoteStore::addToStore(const string & name, const Path & _srcPath,
|
||||||
try {
|
try {
|
||||||
conn->to.written = 0;
|
conn->to.written = 0;
|
||||||
conn->to.warn = true;
|
conn->to.warn = true;
|
||||||
|
connections->incCapacity();
|
||||||
dumpPath(srcPath, conn->to, filter);
|
dumpPath(srcPath, conn->to, filter);
|
||||||
|
connections->decCapacity();
|
||||||
conn->to.warn = false;
|
conn->to.warn = false;
|
||||||
conn->processStderr();
|
conn->processStderr();
|
||||||
} catch (SysError & e) {
|
} catch (SysError & e) {
|
||||||
|
|
|
@ -68,6 +68,22 @@ public:
|
||||||
state_->max = max;
|
state_->max = max;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void incCapacity()
|
||||||
|
{
|
||||||
|
auto state_(state.lock());
|
||||||
|
state_->max++;
|
||||||
|
/* we could wakeup here, but this is only used when we're
|
||||||
|
* about to nest Pool usages, and we want to save the slot for
|
||||||
|
* the nested use if we can
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
|
void decCapacity()
|
||||||
|
{
|
||||||
|
auto state_(state.lock());
|
||||||
|
state_->max--;
|
||||||
|
}
|
||||||
|
|
||||||
~Pool()
|
~Pool()
|
||||||
{
|
{
|
||||||
auto state_(state.lock());
|
auto state_(state.lock());
|
||||||
|
|
Loading…
Reference in a new issue