aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Savoye <rob.savoye@linaro.org>2014-07-09 20:52:07 -0600
committerRob Savoye <rob.savoye@linaro.org>2014-07-09 20:52:07 -0600
commitad575b16cf8dc9a1986edd2ca1ef651b864edd7d (patch)
treeee53e2c90123a1d5383269692fa60f4faf8fdff7
parent9ff98bb0f1563417eaab93ba7a799239d4811380 (diff)
add already supported on the server host message at initilization time
-rw-r--r--loadavg.cc16
1 files changed, 15 insertions, 1 deletions
diff --git a/loadavg.cc b/loadavg.cc
index 27e23c3..8da64c0 100644
--- a/loadavg.cc
+++ b/loadavg.cc
@@ -35,7 +35,7 @@
#include <time.h>
#include <sys/time.h>
#include <errno.h>
-
+#include <sys/utsname.h>
extern char **environ;
void usage(const char *prog);
@@ -117,6 +117,9 @@ main(int argc, char *argv[])
struct in_addr in;
memcpy(&in.s_addr, he->h_addr_list[0], sizeof(in.s_addr));
+ struct utsname utsname;
+ memset(&utsname, 0, sizeof(struct utsname));
+
while (1) {
DMUCS_DEBUG((stderr, "doing Sopen with %s, %s\n",
serverName.str().c_str(), clientPortStr.str().c_str()));
@@ -129,6 +132,17 @@ main(int argc, char *argv[])
continue;
}
+ // Send initialization msg
+ if (*utsname.machine == 0) {
+ uname(&utsname);
+ std::string clientReqStr = "host " + std::string(inet_ntoa(in)) +
+ " " + utsname.machine;
+ DMUCS_DEBUG((stderr, "Writing -->%s<-- to the server\n",
+ clientReqStr.c_str()));
+
+ Sputs((char *) clientReqStr.c_str(), client_sock);
+ }
+
DMUCS_DEBUG((stderr, "got socket: %s\n", Sprtskt(client_sock)));
FILE *output = popen("uptime", "r");