From: Francesco Chemolli Date: Tue, 29 Sep 2015 04:47:46 +0000 (+0200) Subject: Refactor dlink_node to MEMPROXY_CLASS X-Git-Tag: SQUID_4_0_1~27 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=195b97bfbbf1be870f937f5d6a10dbad0c6daec4;p=thirdparty%2Fsquid.git Refactor dlink_node to MEMPROXY_CLASS --- diff --git a/src/auth/digest/Config.cc b/src/auth/digest/Config.cc index 011cfca6ae..dda1cb60b1 100644 --- a/src/auth/digest/Config.cc +++ b/src/auth/digest/Config.cc @@ -672,7 +672,7 @@ authDigestNonceUserUnlink(digest_nonce_h * nonce) if (tmplink->data == nonce) { dlinkDelete(tmplink, &digest_user->nonces); authDigestNonceUnlink(static_cast < digest_nonce_h * >(tmplink->data)); - dlinkNodeDelete(tmplink); + delete tmplink; link = NULL; } } @@ -702,7 +702,7 @@ authDigestUserLinkNonce(Auth::Digest::User * user, digest_nonce_h * nonce) if (node) return; - node = dlinkNodeNew(); + node = new dlink_node; dlinkAddTail(nonce, node, &digest_user->nonces); diff --git a/src/auth/digest/User.cc b/src/auth/digest/User.cc index 46d9006b94..143f493c56 100644 --- a/src/auth/digest/User.cc +++ b/src/auth/digest/User.cc @@ -32,7 +32,7 @@ Auth::Digest::User::~User() dlinkDelete(tmplink, &nonces); authDigestNoncePurge(static_cast < digest_nonce_h * >(tmplink->data)); authDigestNonceUnlink(static_cast < digest_nonce_h * >(tmplink->data)); - dlinkNodeDelete(tmplink); + delete tmplink; } } diff --git a/src/dlink.cc b/src/dlink.cc index 656aa0a1d1..478ac4163f 100644 --- a/src/dlink.cc +++ b/src/dlink.cc @@ -9,35 +9,8 @@ #include "squid.h" #include "dlink.h" -/* dlink_node use explicit alloc()/freeOne() - * XXX: convert to MEMPROXY_CLASS() API - */ -#include "mem/Pool.h" - dlink_list ClientActiveRequests; -MemAllocator *dlink_node_pool = NULL; - -dlink_node * -dlinkNodeNew() -{ - if (dlink_node_pool == NULL) - dlink_node_pool = memPoolCreate("Dlink list nodes", sizeof(dlink_node)); - - /* where should we call delete dlink_node_pool;dlink_node_pool = NULL; */ - return (dlink_node *)dlink_node_pool->alloc(); -} - -/** The node needs to be unlinked FIRST */ -void -dlinkNodeDelete(dlink_node * m) -{ - if (m == NULL) - return; - - dlink_node_pool->freeOne(m); -} - void dlinkAdd(void *data, dlink_node * m, dlink_list * list) { diff --git a/src/dlink.h b/src/dlink.h index 65b3915249..3d951a125b 100644 --- a/src/dlink.h +++ b/src/dlink.h @@ -9,11 +9,13 @@ #ifndef SQUID_DLINK_H #define SQUID_DLINK_H +#include "mem/forward.h" + class dlink_node { - + MEMPROXY_CLASS(dlink_node); public: - dlink_node() : data(NULL), prev(NULL), next(NULL) {} + dlink_node() : data(nullptr), prev(nullptr), next(nullptr) {} void *data; dlink_node *prev; @@ -35,8 +37,6 @@ void dlinkAdd(void *data, dlink_node *, dlink_list *); void dlinkAddAfter(void *, dlink_node *, dlink_node *, dlink_list *); void dlinkAddTail(void *data, dlink_node *, dlink_list *); void dlinkDelete(dlink_node * m, dlink_list * list); -void dlinkNodeDelete(dlink_node * m); -dlink_node *dlinkNodeNew(void); #endif /* SQUID_DLINK_H */ diff --git a/test-suite/test_tools.cc b/test-suite/test_tools.cc index 009833c502..73eb360449 100644 --- a/test-suite/test_tools.cc +++ b/test-suite/test_tools.cc @@ -20,22 +20,6 @@ xassert(const char *msg, const char *file, int line) exit (1); } -dlink_node * -dlinkNodeNew() -{ - return new dlink_node; -} - -/* the node needs to be unlinked FIRST */ -void -dlinkNodeDelete(dlink_node * m) -{ - if (m == NULL) - return; - - delete m; -} - void dlinkAdd(void *data, dlink_node * m, dlink_list * list) {