This is the mail archive of the cygwin-patches@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch] Fix gethwnd race


Uh, scratch that.  Original patch stands.  With this change, close could
still get called multiple times.

Digs hole and hides... :-(

On Fri, 14 May 2004, Brian Ford wrote:

> Ugh!  Ok, this falls under the "too much list noise" category, so I'll
> just shut up now.
>
> On Fri, 14 May 2004, Brian Ford wrote:
>
> +  HANDLE ws;
> +
> +  if (InterlockedDecrement (&window_waiters) == 0
> +      && (ws = (HANDLE) InterlockedExchange ((long *) &window_started, 0)))
> +    CloseHandle (ws);
>
> This part now simplifies to just:
>
> if (InterlockedDecrement (&window_waiters) == 0)
>   CloseHandle (window_waiters);
>
> after the fatal error change.

-- 
Brian Ford
Senior Realtime Software Engineer
VITAL - Visual Simulation Systems
FlightSafety International
the best safety device in any aircraft is a well-trained pilot...


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]