Module: check_mk
Branch: master
Commit: afa40e33d064ba030cbf177f83d649041f7cf7e5
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=afa40e33d064ba…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Tue Nov 15 12:51:05 2011 +0100
Windows agent: resuse TCP socket
---
ChangeLog | 2 ++
agents/windows/check_mk.ini | 2 +-
agents/windows/check_mk_agent.cc | 10 ++++------
agents/windows/check_mk_agent.exe | Bin 100864 -> 100864 bytes
4 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index f9ec8c1..6e6882e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -16,6 +16,8 @@
for examples.
* Windows agent: do not execute *.txt and *.dir in <<<plugins>>>
and
<<<local>>>
+ * Windows agent: agent now reuses TCP port even when taskkill'ed, so
+ a system reboot is (hopefully) not neccessary anymore
* logwatch: allow to classify messages based on their count (see
man page of logwatch for details)
diff --git a/agents/windows/check_mk.ini b/agents/windows/check_mk.ini
index 9c02959..6de4d40 100644
--- a/agents/windows/check_mk.ini
+++ b/agents/windows/check_mk.ini
@@ -7,7 +7,7 @@
# host = winsrv* zab???ad
# Just output certain sections (e.g. for upper hosts)
- # sections = check_mk local mrpe
+ sections = check_mk local mrpe
[winperf]
diff --git a/agents/windows/check_mk_agent.cc b/agents/windows/check_mk_agent.cc
index c2f2046..421c2b1 100755
--- a/agents/windows/check_mk_agent.cc
+++ b/agents/windows/check_mk_agent.cc
@@ -1263,9 +1263,8 @@ bool banned_exec_name(char *name)
return false;
char *extension = name + strlen(name) - 4;
- return (!(
- !strcasecmp(extension, ".dir")
- || !strcasecmp(extension, ".txt")));
+ return ( !strcasecmp(extension, ".dir")
+ || !strcasecmp(extension, ".txt"));
}
void run_plugin(SOCKET &out, char *path)
@@ -2086,9 +2085,8 @@ void listen_tcp_loop()
addr.sin_port = htons(CHECK_MK_AGENT_PORT);
addr.sin_addr.s_addr = ADDR_ANY;
- // int optval = 1;
- // setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (const char*)&optval,
sizeof(optval));
-
+ int optval = 1;
+ setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (const char*)&optval, sizeof(optval));
if (SOCKET_ERROR == bind(s, (SOCKADDR *)&addr, sizeof(SOCKADDR_IN))) {
fprintf(stderr, "Cannot bind socket to port %d\n", CHECK_MK_AGENT_PORT);
diff --git a/agents/windows/check_mk_agent.exe b/agents/windows/check_mk_agent.exe
index 0d943cc..6d3b019 100755
Binary files a/agents/windows/check_mk_agent.exe and b/agents/windows/check_mk_agent.exe
differ