ソースを参照

Fix cloggage of the pipe communicating with the forked X11 splash window subprocess

rdb 10 年 前
コミット
12af94707f
1 ファイル変更5 行追加2 行削除
  1. 5 2
      direct/src/plugin/p3dX11SplashWindow.cxx

+ 5 - 2
direct/src/plugin/p3dX11SplashWindow.cxx

@@ -681,10 +681,13 @@ subprocess_run() {
       }
     }
 
-    if (input_ready) {
+    do {
+      // Empty the pipe of whatever is in it.
       receive_command();
-    }
+      input_ready = _pipe_read.has_gdata();
+    } while (input_ready);
 
+    // Sleep a good amount in order not to lock up the system.
     struct timespec req;
     req.tv_sec = 0;
     req.tv_nsec = 50000000;  // 50 ms