From e3c05efe5e5085f3db14f1532a92de460b899ab5 Mon Sep 17 00:00:00 2001 From: Adam Date: Mon, 16 Sep 2013 06:28:48 -0400 Subject: Remove static variables from functions in modules which causes them to be marked as gnu unique objects, which breaks dlclose()/dlopen() on g++ 4.5+ --- modules/commands/os_dns.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'modules/commands/os_dns.cpp') diff --git a/modules/commands/os_dns.cpp b/modules/commands/os_dns.cpp index 717cbf29b..ee651f702 100644 --- a/modules/commands/os_dns.cpp +++ b/modules/commands/os_dns.cpp @@ -663,9 +663,12 @@ class ModuleDNS : public Module bool remove_split_servers; bool readd_connected_servers; + time_t last_warn; + public: ModuleDNS(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, EXTRA | VENDOR), - zone_type("DNSZone", DNSZone::Unserialize), dns_type("DNSServer", DNSServer::Unserialize), commandosdns(this) + zone_type("DNSZone", DNSZone::Unserialize), dns_type("DNSServer", DNSServer::Unserialize), commandosdns(this), + last_warn(0) { @@ -840,7 +843,6 @@ class ModuleDNS : public Module if (packet->answers.size() == answer_size) { - static time_t last_warn = 0; if (last_warn + 60 < Anope::CurTime) { last_warn = Anope::CurTime; -- cgit