[Box Backup-commit] COMMIT r1287 - in box/chris/general/lib: common server

boxbackup-dev@fluffy.co.uk boxbackup-dev@fluffy.co.uk
Wed, 14 Feb 2007 23:16:49 +0000


Author: chris
Date: 2007-02-14 23:16:49 +0000 (Wed, 14 Feb 2007)
New Revision: 1287

Modified:
   box/chris/general/lib/common/Test.h
   box/chris/general/lib/server/ServerControl.h
Log:
Remove newly added KillServer and HUPServer from Test.h, merge with
existing versions in ServerControl.h instead.

Add BBSTORED and BBSTOREACCOUNTS command paths with Windows and Unix
versions.


Modified: box/chris/general/lib/common/Test.h
===================================================================
--- box/chris/general/lib/common/Test.h	2007-02-13 23:20:22 UTC (rev 1286)
+++ box/chris/general/lib/common/Test.h	2007-02-14 23:16:49 UTC (rev 1287)
@@ -259,49 +259,6 @@
 #define TestRemoteProcessMemLeaks(filename) \
 	TestRemoteProcessMemLeaksFunc(filename, __FILE__, __LINE__)
 
-inline bool HUPServer(int pid)
-{
-	if(pid == 0) return false;
-	return ::kill(pid, SIGHUP) != -1;
-}
-
-inline bool KillServerInternal(int pid)
-{
-	if(pid == 0 || pid == -1) return false;
-	TEST_THAT(::kill(pid, SIGTERM) != -1);
-}
-
-inline bool KillServer(int pid)
-{
-	KillServerInternal(pid);
-
-	for (int i = 0; i < 30; i++)
-	{
-		if (!ServerIsAlive(pid)) break;
-		::sleep(1);
-		if (!ServerIsAlive(pid)) break;
-
-		if (i == 0) 
-		{
-			printf("waiting for server to die");
-		}
-		printf(".");
-		fflush(stdout);
-	}
-
-	if (!ServerIsAlive(pid))
-	{
-		printf("done.\n");
-	}
-	else
-	{
-		printf("failed!\n");
-	}
-	fflush(stdout);
-
-	return !ServerIsAlive(pid);
-}
-
 inline void TestRemoteProcessMemLeaksFunc(const char *filename,
 	const char* file, int line)
 {
@@ -349,14 +306,18 @@
 }
 
 #ifdef WIN32
-#define BBACKUPCTL   "..\\..\\bin\\bbackupctl\\bbackupctl"
-#define BBACKUPD     "..\\..\\bin\\bbackupd\\bbackupd"
-#define BBACKUPQUERY "..\\..\\bin\\bbackupquery\\bbackupquery.exe"
+#define BBACKUPCTL      "..\\..\\bin\\bbackupctl\\bbackupctl.exe"
+#define BBACKUPD        "..\\..\\bin\\bbackupd\\bbackupd.exe"
+#define BBSTORED        "..\\..\\bin\\bbstored\\bbstored.exe"
+#define BBACKUPQUERY    "..\\..\\bin\\bbackupquery\\bbackupquery.exe"
+#define BBSTOREACCOUNTS "..\\..\\bin\\bbstoreaccounts\\bbstoreaccounts.exe"
 #define TEST_RETURN(actual, expected) TEST_THAT(actual == expected);
 #else
-#define BBACKUPCTL   "../../bin/bbackupctl/bbackupctl"
-#define BBACKUPD     "../../bin/bbackupd/bbackupd"
-#define BBACKUPQUERY "../../bin/bbackupquery/bbackupquery"
+#define BBACKUPCTL      "../../bin/bbackupctl/bbackupctl"
+#define BBACKUPD        "../../bin/bbackupd/bbackupd"
+#define BBSTORED        "../../bin/bbackupd/bbstored"
+#define BBACKUPQUERY    "../../bin/bbackupquery/bbackupquery"
+#define BBSTOREACCOUNTS "../../bin/bbstoreaccounts/bbstoreaccounts"
 #define TEST_RETURN(actual, expected) TEST_THAT(actual == expected*256);
 #endif
 

Modified: box/chris/general/lib/server/ServerControl.h
===================================================================
--- box/chris/general/lib/server/ServerControl.h	2007-02-13 23:20:22 UTC (rev 1286)
+++ box/chris/general/lib/server/ServerControl.h	2007-02-14 23:16:49 UTC (rev 1287)
@@ -6,6 +6,7 @@
 #include "WinNamedPipeStream.h"
 #include "IOStreamGetLine.h"
 #include "BoxPortsAndFiles.h"
+#include "Test.h"
 
 static bool SendCommands(const std::string& rCmd)
 {
@@ -97,7 +98,7 @@
 	return SendCommands("reload");
 }
 
-inline bool KillServer(int pid)
+inline bool KillServerInternal(int pid)
 {
 	HANDLE hProcess = OpenProcess(PROCESS_TERMINATE, false, pid);
 	if (hProcess == NULL)
@@ -116,9 +117,7 @@
 	}
 
 	CloseHandle(hProcess);
-
-	::sleep(1);
-	return !ServerIsAlive(pid);
+	return true;
 }
 
 #else // !WIN32
@@ -129,15 +128,47 @@
 	return ::kill(pid, SIGHUP) != -1;
 }
 
-inline bool KillServer(int pid)
+inline bool KillServerInternal(int pid)
 {
 	if(pid == 0 || pid == -1) return false;
-	bool KilledOK = ::kill(pid, SIGTERM) != -1;
-	TEST_THAT(KilledOK);
-	::sleep(1);
-	return !ServerIsAlive(pid);
+	bool killed = (::kill(pid, SIGTERM) != -1);
+	TEST_THAT(killed);
+	return killed;
 }
 
 #endif // WIN32
 
+inline bool KillServer(int pid)
+{
+	KillServerInternal(pid);
+
+	for (int i = 0; i < 30; i++)
+	{
+		if (!ServerIsAlive(pid)) break;
+		::sleep(1);
+		if (!ServerIsAlive(pid)) break;
+
+		if (i == 0) 
+		{
+			printf("waiting for server to die");
+		}
+
+		printf(".");
+		fflush(stdout);
+	}
+
+	if (!ServerIsAlive(pid))
+	{
+		printf("done.\n");
+	}
+	else
+	{
+		printf("failed!\n");
+	}
+
+	fflush(stdout);
+
+	return !ServerIsAlive(pid);
+}
+
 #endif // SERVER_CONTROL_H