]> granicus.if.org Git - apache/commitdiff
Fix two small glitches in r730828 (Win9x code
authorRainer Jung <rjung@apache.org>
Wed, 21 Jan 2009 21:52:28 +0000 (21:52 +0000)
committerRainer Jung <rjung@apache.org>
Wed, 21 Jan 2009 21:52:28 +0000 (21:52 +0000)
removal in mpm_winnt).

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@736427 13f79535-47bb-0310-9956-ffa450edef68

server/mpm/winnt/child.c
server/mpm/winnt/mpm_winnt.c

index 129a0679bb59d582de35709d410fba9b3f9e6731..52884fb468c7e1a1d1bdfec10aad3e197c2ec8a4 100644 (file)
@@ -1093,6 +1093,8 @@ void child_main(apr_pool_t *pconf)
                  "Child %d: All worker threads have exited.", my_pid);
 
     apr_thread_mutex_destroy(child_lock);
+    apr_thread_mutex_destroy(qlock);
+    CloseHandle(qwait_event);
 
     apr_pool_destroy(pchild);
     CloseHandle(exit_event);
index 45ac052b83779009a10ce3a7f4535c347c7d681e..1422041fa4f4a32d4154be22af070ba7acad6b2d 100644 (file)
@@ -432,8 +432,6 @@ void get_listeners_from_parent(server_rec *s)
     DWORD BytesRead;
     int lcnt = 0;
     SOCKET nsd;
-    HANDLE hProcess = GetCurrentProcess();
-    HANDLE dup;
 
     /* Set up a default listener if necessary */
     if (ap_listeners == NULL) {
@@ -466,12 +464,10 @@ void get_listeners_from_parent(server_rec *s)
             exit(APEXIT_CHILDINIT);
         }
 
-        if (DuplicateHandle(hProcess, (HANDLE) nsd, hProcess, &dup,
-                            0, FALSE, DUPLICATE_SAME_ACCESS)) {
-            closesocket(nsd);
-            nsd = (SOCKET) dup;
+        if (!SetHandleInformation((HANDLE)nsd, HANDLE_FLAG_INHERIT, 0)) {
+            ap_log_error(APLOG_MARK, APLOG_ERR, apr_get_os_error(), ap_server_conf,
+                         "set_listeners_noninheritable: SetHandleInformation failed.");
         }
-
         apr_os_sock_put(&lr->sd, &nsd, s->process->pool);
     }