diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2008-04-02 17:08:09 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2008-04-02 17:08:09 +0000 |
commit | 2db77cda56947d4ee0f913c8082f6607855ca713 (patch) | |
tree | f7f83c80f62adc4e3eb0f9f3b680229466c4352e /src/modules/extra/m_ziplink.cpp | |
parent | d9d33e7246baf59241d083eb2c253e729390d205 (diff) |
Automatic detection and allocation of max fds. No longer needs recompile to change, just adjust it in your kernel or whatever and restart insp.
Please note that select and iocp socket engines do not support detection and are always set to FD_SETSIZE and 10240 descriptors respectively.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9263 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/extra/m_ziplink.cpp')
-rw-r--r-- | src/modules/extra/m_ziplink.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/modules/extra/m_ziplink.cpp b/src/modules/extra/m_ziplink.cpp index 5202287fa..7b1cb281c 100644 --- a/src/modules/extra/m_ziplink.cpp +++ b/src/modules/extra/m_ziplink.cpp @@ -137,7 +137,7 @@ class izip_session : public classbase class ModuleZLib : public Module { - izip_session sessions[MAX_DESCRIPTORS]; + izip_session* sessions; /* Used for stats z extensions */ float total_out_compressed; @@ -152,6 +152,8 @@ class ModuleZLib : public Module { ServerInstance->Modules->PublishInterface("BufferedSocketHook", this); + sessions = new izip_session[ServerInstance->SE->GetMaxFds()]; + total_out_compressed = total_in_compressed = 0; total_out_uncompressed = total_out_uncompressed = 0; Implementation eventlist[] = { I_OnRawSocketConnect, I_OnRawSocketAccept, I_OnRawSocketClose, I_OnRawSocketRead, I_OnRawSocketWrite, I_OnStats, I_OnRequest }; @@ -161,6 +163,7 @@ class ModuleZLib : public Module virtual ~ModuleZLib() { ServerInstance->Modules->UnpublishInterface("BufferedSocketHook", this); + delete[] sessions; } virtual Version GetVersion() |