You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2011/03/17 15:01:01 UTC
svn commit: r1082495 - in /trafficserver/traffic/trunk/proxy:
ReverseProxy.cc ReverseProxy.h http/remap/UrlRewrite.cc
http/remap/UrlRewrite.h
Author: zwoop
Date: Thu Mar 17 14:01:01 2011
New Revision: 1082495
URL: http://svn.apache.org/viewvc?rev=1082495&view=rev
Log:
TS-710 Do not dlopen / reload a remap plugin .so more than once
Modified:
trafficserver/traffic/trunk/proxy/ReverseProxy.cc
trafficserver/traffic/trunk/proxy/ReverseProxy.h
trafficserver/traffic/trunk/proxy/http/remap/UrlRewrite.cc
trafficserver/traffic/trunk/proxy/http/remap/UrlRewrite.h
Modified: trafficserver/traffic/trunk/proxy/ReverseProxy.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/ReverseProxy.cc?rev=1082495&r1=1082494&r2=1082495&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/ReverseProxy.cc (original)
+++ trafficserver/traffic/trunk/proxy/ReverseProxy.cc Thu Mar 17 14:01:01 2011
@@ -52,6 +52,7 @@
// Global Ptrs
static Ptr<ProxyMutex> reconfig_mutex = NULL;
UrlRewrite *rewrite_table = NULL;
+remap_plugin_info *remap_pi_list; // We never reload the remap plugins, just append to 'em.
// Tokens for the Callback function
#define FILE_CHANGED 0
Modified: trafficserver/traffic/trunk/proxy/ReverseProxy.h
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/ReverseProxy.h?rev=1082495&r1=1082494&r2=1082495&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/ReverseProxy.h (original)
+++ trafficserver/traffic/trunk/proxy/ReverseProxy.h Thu Mar 17 14:01:01 2011
@@ -51,6 +51,7 @@ struct host_hdr_info;
extern int url_remap_mode;
extern UrlRewrite *rewrite_table;
+extern remap_plugin_info *remap_pi_list;
// API Functions
int init_reverse_proxy();
Modified: trafficserver/traffic/trunk/proxy/http/remap/UrlRewrite.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/http/remap/UrlRewrite.cc?rev=1082495&r1=1082494&r2=1082495&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/http/remap/UrlRewrite.cc (original)
+++ trafficserver/traffic/trunk/proxy/http/remap/UrlRewrite.cc Thu Mar 17 14:01:01 2011
@@ -479,7 +479,7 @@ UrlRewrite::UrlRewrite(const char *file_
: nohost_rules(0), reverse_proxy(0), backdoor_enabled(0),
mgmt_autoconf_port(0), default_to_pac(0), default_to_pac_port(0), file_var(NULL), ts_name(NULL),
http_default_redirect_url(NULL), num_rules_forward(0), num_rules_reverse(0), num_rules_redirect_permanent(0),
- num_rules_redirect_temporary(0), remap_pi_list(NULL)
+ num_rules_redirect_temporary(0)
{
forward_mappings.hash_lookup = reverse_mappings.hash_lookup =
@@ -549,11 +549,6 @@ UrlRewrite::~UrlRewrite()
DestroyStore(reverse_mappings);
DestroyStore(permanent_redirects);
DestroyStore(temporary_redirects);
-
- if (remap_pi_list) {
- remap_pi_list->delete_my_list();
- remap_pi_list = NULL;
- }
}
/** Sets the reverse proxy flag. */
Modified: trafficserver/traffic/trunk/proxy/http/remap/UrlRewrite.h
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/http/remap/UrlRewrite.h?rev=1082495&r1=1082494&r2=1082495&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/http/remap/UrlRewrite.h (original)
+++ trafficserver/traffic/trunk/proxy/http/remap/UrlRewrite.h Thu Mar 17 14:01:01 2011
@@ -116,11 +116,13 @@ public:
url_mapping *SetupPacMapping(); // manager proxy-autconfig mapping
url_mapping *SetupBackdoorMapping();
void PrintTable(InkHashTable * h_table);
+
void DestroyStore(MappingsStore &store)
{
_destroyTable(store.hash_lookup);
_destroyList(store.regex_list);
}
+
bool TableInsert(InkHashTable *h_table, url_mapping *mapping, const char *src_host);
MappingsStore forward_mappings;
@@ -176,7 +178,6 @@ public:
int num_rules_reverse;
int num_rules_redirect_permanent;
int num_rules_redirect_temporary;
- remap_plugin_info *remap_pi_list;
private:
void _doRemap(UrlMappingContainer &mapping_container, URL *request_url);