aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/ident/libkviident.cpp
diff options
context:
space:
mode:
authorGravatar Alexey Uzhva2007-01-30 12:07:49 +0000
committerGravatar Alexey Uzhva2007-01-30 12:07:49 +0000
commitd3e83447475df2864d9cb304f32c1bb5ab3b0970 (patch)
tree11bb62c5e7a216e6dc6ec8556e16a0660f6c6151 /src/modules/ident/libkviident.cpp
parentfixes for logging and regusers (diff)
downloadKVIrc-d3e83447475df2864d9cb304f32c1bb5ab3b0970.tar.gz
KVIrc-d3e83447475df2864d9cb304f32c1bb5ab3b0970.tar.bz2
KVIrc-d3e83447475df2864d9cb304f32c1bb5ab3b0970.zip
Introduced option using identd only on connect, some fixes around
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@283 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules/ident/libkviident.cpp')
-rw-r--r--src/modules/ident/libkviident.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/modules/ident/libkviident.cpp b/src/modules/ident/libkviident.cpp
index 460cd046a..3e8acef5a 100644
--- a/src/modules/ident/libkviident.cpp
+++ b/src/modules/ident/libkviident.cpp
@@ -43,7 +43,7 @@
static KviIdentDaemon * g_pIdentDaemon = 0;
static KviIdentSentinel * g_pIdentSentinel = 0;
-extern KVIRC_API bool g_bIdentDaemonRunning;
+extern KVIRC_API int g_iIdentDaemonRunningUsers;
void startIdentService()
{
@@ -153,7 +153,6 @@ KviIdentDaemon::KviIdentDaemon()
m_bEnableIpV6 = false;
#endif
m_bIpV6ContainsIpV4 = KVI_OPTION_BOOL(KviOption_boolIdentdIpV6ContainsIpV4);
- g_bIdentDaemonRunning = true;
// debug("Thread constructor done");
}
@@ -161,7 +160,7 @@ KviIdentDaemon::~KviIdentDaemon()
{
// debug("Thread destructor");
terminate();
- g_bIdentDaemonRunning = false;
+ g_iIdentDaemonRunningUsers = 0;
g_pIdentDaemon = 0;
// debug("Destructor gone");
@@ -545,7 +544,9 @@ exit_thread:
static bool ident_kvs_cmd_start(KviKvsModuleCommandCall * c)
{
- startIdentService();
+ if(!g_iIdentDaemonRunningUsers)
+ startIdentService();
+ g_iIdentDaemonRunningUsers++;
return true;
}
@@ -567,7 +568,8 @@ static bool ident_kvs_cmd_start(KviKvsModuleCommandCall * c)
static bool ident_kvs_cmd_stop(KviKvsModuleCommandCall * c)
{
- stopIdentService();
+ if(g_iIdentDaemonRunningUsers) g_iIdentDaemonRunningUsers--;
+ if(!g_iIdentDaemonRunningUsers) stopIdentService();
return true;
}