From aefdba1230de456784d220982ab8b4dbe3cde17d Mon Sep 17 00:00:00 2001
From: Nat Goodspeed <nat@lindenlab.com>
Date: Thu, 25 Jun 2015 17:00:47 -0400
Subject: [PATCH] MAINT-5232: Make LLHTTPClientAdapter not be an LLSingleton.
 llhttpclientadapter_test.cpp starts its every test by explicitly
 instantiating a local LLHTTPClientAdapter object. This is an abuse of
 LLSingleton, and if it had been properly defined (private constructor), it
 should never have compiled. Looked at the other way, though, every known
 reference to LLHTTPClientAdapter instantiates a local object. Why did someone
 think it should be an LLSingleton in the first place? Remove LLSingleton<> as
 a base class; remove llsingleton.h. This makes llhttpclientadapter_test.cpp
 work just fine. One might also question what value this class adds. It seems
 to do very little -- but more significantly, the ONLY references in the
 source tree are its declaration, definition and test. Nobody actually uses it
 anywhere.

---
 indra/llmessage/llhttpclientadapter.h | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/indra/llmessage/llhttpclientadapter.h b/indra/llmessage/llhttpclientadapter.h
index 270282c66fb..ab0d2191551 100755
--- a/indra/llmessage/llhttpclientadapter.h
+++ b/indra/llmessage/llhttpclientadapter.h
@@ -28,9 +28,8 @@
 #define LL_HTTPCLIENTADAPTER_H
 
 #include "llhttpclientinterface.h"
-#include "llsingleton.h"	// LLSingleton<>
 
-class LLHTTPClientAdapter : public LLHTTPClientInterface, public LLSingleton<LLHTTPClientAdapter>
+class LLHTTPClientAdapter : public LLHTTPClientInterface
 {
 public:
 	virtual ~LLHTTPClientAdapter();
-- 
GitLab