diff TaskManager/kernel/main.cc @ 109:5c194c71eca8

Cerium cvs version
author gongo@gendarme.local
date Wed, 12 Nov 2008 17:39:33 +0900
parents
children 894675539cbf
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TaskManager/kernel/main.cc	Wed Nov 12 17:39:33 2008 +0900
@@ -0,0 +1,43 @@
+#include <stdlib.h>
+#include <string.h>
+#include <SDL.h>
+#include "TaskManager.h"
+
+/* for user main function */
+extern int cerium_main(int argc, char *argv[]);
+
+TaskManager *manager;
+static char *help_str = "\n\
+* Cerium program option *\n\
+  -chelp Print this message \n\
+  -cpu   Number of CPU (default 1) \n";
+
+int
+main(int argc, char *argv[])
+{
+    int cpuNum = 1;
+
+    for (int i = 1; argv[i]; ++i) {
+        if (strcmp(argv[i], "-cpu") == 0) {
+            cpuNum = atoi(argv[++i]);
+        }
+        if (strcmp(argv[i], "-chelp") == 0) {
+	    printf("%s\n", help_str);
+	    return EXIT_SUCCESS;
+        }
+    }
+
+    manager = new TaskManager(cpuNum);
+    manager->init();
+
+    if (cerium_main(argc, argv) < 0) {
+	goto FINISH;
+    }
+
+    manager->run();
+
+FINISH:
+    delete manager;
+
+    return EXIT_SUCCESS;
+}