version 1.4b26
[polyglot.git] / engine.cpp
index b6c0f4b..f86f0fb 100644 (file)
@@ -323,14 +323,18 @@ engine_t Engine[1];
 \r
 void set_affinity(engine_t *engine, int affin){\r
        if(affin==-1) return;\r
-    {   typedef void (WINAPI *SPAM)(HANDLE, int);\r
-       SPAM pSPAM;\r
-\r
-       pSPAM = (SPAM) GetProcAddress(\r
-           GetModuleHandle(TEXT("kernel32.dll")), \r
-           "SetProcessAffinityMask");\r
-       if(NULL != pSPAM) // [HGM] avoid crash on Win95 by first checking if API call exists\r
-           pSPAM((engine->io).hProcess,affin);\r
+\r
+    typedef void (WINAPI *SPAM)(HANDLE, int);\r
+    SPAM pSPAM;\r
+    pSPAM = (SPAM) GetProcAddress(\r
+        GetModuleHandle(TEXT("kernel32.dll")), \r
+        "SetProcessAffinityMask");\r
+    if(NULL != pSPAM){\r
+            // [HGM] avoid crash on Win95 by first checking if API call exists\r
+        my_log("POLYGLOT Setting process affinity to %d\n",affin);\r
+        pSPAM((engine->io).hProcess,affin);\r
+    }else{\r
+        my_log("POLYGLOT API call \"SetProcessAffinityMask\" not available\n");\r
     }\r
 }\r
 \r
@@ -371,9 +375,8 @@ void engine_close(engine_t * engine){
     char string[StringSize];\r
     (engine->io).Close();\r
         // TODO: Timeout\r
-    while (!engine_eof(Engine)) { \r
-        engine_get_non_blocking(Engine,string,StringSize);\r
-        Idle();\r
+    while (!engine_eof(engine)) { \r
+      engine_get(Engine,string,StringSize);\r
     }\r
     (engine->io).Kill();\r
 }\r
@@ -412,13 +415,14 @@ bool engine_eof(engine_t *engine){
 \r
 bool engine_get_non_blocking(engine_t * engine, char *szLineStr, int size){\r
     if(engine_eof(engine)){ return false;}\r
-       if ((engine->io).GetBuffer(szLineStr)) {\r
+    if ((engine->io).GetBuffer(szLineStr)) {\r
         my_log("Engine->Adapter: %s\n",szLineStr);\r
         return true;\r
     } else {\r
         szLineStr[0]='\0';\r
         if(engine->io.EOF_()){\r
             engine->state|=ENGINE_EOF;\r
+           my_log("POLYGLOT *** EOF from Engine ***\n");\r
         }\r
         return false;\r
     }\r
@@ -427,7 +431,10 @@ bool engine_get_non_blocking(engine_t * engine, char *szLineStr, int size){
 void engine_get(engine_t * engine, char *szLineStr, int size){\r
     (engine->io).LineInput(szLineStr);\r
     if(engine->io.EOF_()){\r
-        engine->state|=ENGINE_EOF;\r
+      engine->state|=ENGINE_EOF;\r
+      my_log("POLYGLOT *** EOF from Engine ***\n");\r
+    }else{\r
+      my_log("Engine->Adapter: %s\n",szLineStr);\r
     }\r
 }\r
 \r