aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/nfs/Connection.cxx
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2014-09-28 19:18:48 +0200
committerMax Kellermann <max@duempel.org>2014-10-01 19:49:38 +0200
commitfb4e6ac923574a8544c94e4deceaf774a4e2504c (patch)
treeff4a449789f613ad0e08d6ca86560b5dbbb3a475 /src/lib/nfs/Connection.cxx
parent3560dc4be60e6e3c47c687b9702a62a610909546 (diff)
downloadmpd-fb4e6ac923574a8544c94e4deceaf774a4e2504c.tar.gz
mpd-fb4e6ac923574a8544c94e4deceaf774a4e2504c.tar.xz
mpd-fb4e6ac923574a8544c94e4deceaf774a4e2504c.zip
lib/nfs/Cancellable: use boost::intrusive::list
Reduce Remove() overhead because we don't have to walk the list to find an iterator by reference.
Diffstat (limited to '')
-rw-r--r--src/lib/nfs/Connection.cxx6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/lib/nfs/Connection.cxx b/src/lib/nfs/Connection.cxx
index d37817a86..13f7cd89c 100644
--- a/src/lib/nfs/Connection.cxx
+++ b/src/lib/nfs/Connection.cxx
@@ -161,7 +161,7 @@ NfsConnection::Open(const char *path, int flags, NfsCallback &callback,
auto &c = callbacks.Add(callback, *this);
if (!c.Open(context, path, flags, error)) {
- callbacks.RemoveLast();
+ callbacks.Remove(c);
return false;
}
@@ -176,7 +176,7 @@ NfsConnection::Stat(struct nfsfh *fh, NfsCallback &callback, Error &error)
auto &c = callbacks.Add(callback, *this);
if (!c.Stat(context, fh, error)) {
- callbacks.RemoveLast();
+ callbacks.Remove(c);
return false;
}
@@ -192,7 +192,7 @@ NfsConnection::Read(struct nfsfh *fh, uint64_t offset, size_t size,
auto &c = callbacks.Add(callback, *this);
if (!c.Read(context, fh, offset, size, error)) {
- callbacks.RemoveLast();
+ callbacks.Remove(c);
return false;
}