Subject: Re: bug#25875: 26.0.50; Hang logging out of MS-Windows

From: Eli Zaretskii <[email-masked]>
Date: Mon, 27 Feb 2017 21:16:51 +0200

> From: Richard Copley <[email-masked]>
> Date: Mon, 27 Feb 2017 19:04:23 +0000
> Cc: Ken Brown <[email-masked]>, [email-masked]
> 
> >> > +static LRESULT WINAPI
> >> > +DebugSendMessage (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
> >> > +{
> >> > +  return SendMessageTimeoutA (hWnd, Msg, wParam, lParam, 0, 100, NULL);
> >> > +}
> >> > +
> >> >  /* Start update of window W.  */
> >> >
> >> >  static void
> >> >
> >> > Ken
> >>
> >> Sorry Ken, I can't sabotage myself like that, I have work to do.
> >
> > This could be a misunderstanding: the above change is not supposed to
> > sabotage anything, it's supposed to be a 100% compatible change for
> > the current behavior when all threads are running, and also provide a
> > "fire escape" when the addressee of the message is for some reason
> > stuck, as we think happens in your scenario.
> 
> >From the docs for SendMessageTimeout:
>   "If the function succeeds, the return value is nonzero.".
> We're going to cast that to HWND and pretend it's a scrollbar?

No, the result is returned in the last argument of SendMessageTimeout
(which shouldn't be NULL for getting hold of that, of course).