浏览代码

Finish fix for CGI pipes in Windows (see #269)

bel 9 年之前
父节点
当前提交
3671ee2c01
共有 1 个文件被更改,包括 12 次插入7 次删除
  1. 12 7
      src/civetweb.c

+ 12 - 7
src/civetweb.c

@@ -3320,13 +3320,18 @@ spawn_process(struct mg_connection *conn,
 	                TRUE,
 	                DUPLICATE_SAME_ACCESS);
 
-    /* Close unsued handles, so they are not inherited.
-     * (Already tested close, according to https://support.microsoft.com/en-us/kb/190351, but this does not work here)
-     * TODO: check https://msdn.microsoft.com/en-us/library/windows/desktop/ms682499%28v=vs.85%29.aspx
-     */
-    SetHandleInformation((HANDLE)_get_osfhandle(fdin[1]), HANDLE_FLAG_INHERIT, 0);
-    SetHandleInformation((HANDLE)_get_osfhandle(fdout[0]), HANDLE_FLAG_INHERIT, 0);
-    SetHandleInformation((HANDLE)_get_osfhandle(fderr[0]), HANDLE_FLAG_INHERIT, 0);
+	/* Mark handles that should not be inherited. See
+	 * https://msdn.microsoft.com/en-us/library/windows/desktop/ms682499%28v=vs.85%29.aspx
+	 */
+	SetHandleInformation((HANDLE)_get_osfhandle(fdin[1]),
+	                     HANDLE_FLAG_INHERIT,
+	                     0);
+	SetHandleInformation((HANDLE)_get_osfhandle(fdout[0]),
+	                     HANDLE_FLAG_INHERIT,
+	                     0);
+	SetHandleInformation((HANDLE)_get_osfhandle(fderr[0]),
+	                     HANDLE_FLAG_INHERIT,
+	                     0);
 
 	/* If CGI file is a script, try to read the interpreter line */
 	interp = conn->ctx->config[CGI_INTERPRETER];