One of the flags used to register dump request callback in
crash_generation_server.cc is WT_EXECUTEINWAITTHREAD.
According to MSDN
(https://msdn.microsoft.com/en-us/library/windows/desktop/ms685061%28v=vs.120%29
.aspx) providing this flag means:
"The callback function is invoked by the wait thread itself. This flag should
be used only for short tasks or it could affect other wait operations."
Since one wait thread handles quite a large amount of events (up to 63), what
this basically means is that while the dump is generated, all the other events
in that thread are blocked, and you can't e.g. connect to the server until that
callback is finished, even though the design of the server allows it to do so.
Proposed patch is an attempt to fix this problem, along with the changes
necessary to execute the callback in a non-blocking way (manual reset events
can't be used in this case).
Original issue reported on code.google.com by soulthre...@linuxoids.net on 7 May 2015 at 8:45
Original issue reported on code.google.com by
soulthre...@linuxoids.net
on 7 May 2015 at 8:45Attachments: