version 1.4w10UCIb16
[polyglot.git] / engine.cpp
index b5429d9..921683c 100644 (file)
@@ -11,6 +11,7 @@
 #include <cstring>\r
 \r
 #include <sys/types.h>\r
+#include <sys/resource.h>\r
 #include <unistd.h>\r
 \r
 #include "engine.h"\r
@@ -123,10 +124,9 @@ void engine_open(engine_t * engine) {
 \r
       // set a low priority\r
 \r
-      if (option_get_bool("UseNice"))\r
-      {\r
+      if (option_get_bool("UseNice")) {\r
           my_log("POLYGLOT Adjust Engine Piority");\r
-          nice(+option_get_int("NiceValue"));\r
+          nice(option_get_int("NiceValue"));\r
       }\r
 \r
       // change the current directory\r
@@ -159,11 +159,19 @@ void engine_open(engine_t * engine) {
       engine->io->in_fd = from_engine[0];\r
       engine->io->out_fd = to_engine[1];\r
       engine->io->name = "Engine";\r
+      engine->pid=pid;\r
 \r
       io_init(engine->io);\r
    }\r
 }\r
 \r
+// engine_set_nice_value()\r
+\r
+void engine_set_nice_value(engine_t * engine, int value){\r
+    setpriority(PRIO_PROCESS,engine->pid,value);\r
+}\r
+\r
+\r
 // engine_close()\r
 \r
 void engine_close(engine_t * engine) {\r
@@ -307,6 +315,12 @@ void set_affinity(engine_t *engine, int affin){
     SetProcessAffinityMask((engine->pipeEngine).hProcess,affin);\r
 }\r
 \r
+// Eric Mullins!\r
+\r
+void engine_set_nice_value(engine_t *engine, int value){\r
+    SetPriorityClass((engine->pipeEngine).hProcess,\r
+                     GetWin32Priority(value));\r
+}\r
 \r
 \r
 void engine_send_queue(engine_t * engine,const char *szFormat, ...) {\r
@@ -340,8 +354,7 @@ void engine_open(engine_t * engine){
         // set a low priority\r
     if (option_get_bool("UseNice")){\r
           my_log("POLYGLOT Adjust Engine Piority\n");\r
-          SetPriorityClass((engine->pipeEngine).hProcess,\r
-                           GetWin32Priority(option_get_int("NiceValue")));\r
+          engine_set_nice_value(engine, option_get_int("NiceValue"));\r
     }\r
     \r
 }\r