From fb4e6ac923574a8544c94e4deceaf774a4e2504c Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Sun, 28 Sep 2014 19:18:48 +0200 Subject: 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. --- src/lib/nfs/Connection.cxx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/lib/nfs/Connection.cxx') 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; } -- cgit v1.2.3