db/upnp/Discovery: use class IntrusiveList

This commit is contained in:
Max Kellermann 2021-02-24 20:38:27 +01:00
parent aa227cded1
commit 5ebe23e4bb
2 changed files with 6 additions and 9 deletions

View File

@ -49,8 +49,8 @@ void
UPnPDeviceDirectory::Downloader::Destroy() noexcept UPnPDeviceDirectory::Downloader::Destroy() noexcept
{ {
const std::lock_guard<Mutex> protect(parent.mutex); const std::lock_guard<Mutex> protect(parent.mutex);
parent.downloaders.erase_and_dispose(parent.downloaders.iterator_to(*this), unlink();
DeleteDisposer()); delete this;
} }
void void

View File

@ -28,8 +28,7 @@
#include "lib/curl/Request.hxx" #include "lib/curl/Request.hxx"
#include "thread/Mutex.hxx" #include "thread/Mutex.hxx"
#include "event/DeferEvent.hxx" #include "event/DeferEvent.hxx"
#include "util/IntrusiveList.hxx"
#include <boost/intrusive/list.hpp>
#include <list> #include <list>
#include <vector> #include <vector>
@ -80,9 +79,8 @@ class UPnPDeviceDirectory final : UpnpCallback {
}; };
class Downloader final class Downloader final
: public boost::intrusive::list_base_hook<boost::intrusive::link_mode<boost::intrusive::normal_link>>, : public IntrusiveListHook, CurlResponseHandler
CurlResponseHandler { {
DeferEvent defer_start_event; DeferEvent defer_start_event;
UPnPDeviceDirectory &parent; UPnPDeviceDirectory &parent;
@ -132,8 +130,7 @@ class UPnPDeviceDirectory final : UpnpCallback {
/** /**
* Protected by #mutex. * Protected by #mutex.
*/ */
boost::intrusive::list<Downloader, IntrusiveList<Downloader> downloaders;
boost::intrusive::constant_time_size<false>> downloaders;
/** /**
* Protected by #mutex. * Protected by #mutex.