[prev in list] [next in list] [prev in thread] [next in thread] 

List:       wine-devel
Subject:    Re: [PATCH 1/3] services: Monitor process handles for process quit
From:       Alexandre Julliard <julliard () winehq ! org>
Date:       2015-02-26 4:34:44
Message-ID: 871tldxpcr.fsf () winehq ! org
[Download RAW message or body]

Andrew Eikum <aeikum@codeweavers.com> writes:

> @@ -1636,13 +1638,30 @@ DWORD events_loop(void)
> 
> do
> {
> -        err = WaitForMultipleObjects(2, wait_handles, FALSE, timeout);
> +        num_handles = 2;
> +
> +        /* monitor tracked process handles for process end */
> +        EnterCriticalSection(&timeout_queue_cs);
> +        LIST_FOR_EACH_ENTRY(iter, &timeout_queue, struct timeout_queue_elem, \
> entry) +        {
> +            if(num_handles == max_handles)
> +            {
> +                max_handles++;
> +                wait_handles = HeapReAlloc(GetProcessHeap(), 0, wait_handles, \
> sizeof(HANDLE) * max_handles); +            }

You don't need heap allocation, you can't wait for more than
MAXIMUM_WAIT_OBJECTS anyway.

-- 
Alexandre Julliard
julliard@winehq.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic