This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB 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: [win32] Fix suspend count handling


Christopher Faylor escribió:
On Sun, Nov 25, 2007 at 03:44:31PM +0100, Lerele wrote:
What do you think?

There is some code in win32-nat.c which was a result of my uncertainty about the Windows debugging API. I thought that since we have a couple more eyes on this now someone might know a bit more about how this works. Understanding the foundations is never a bad idea.

I'm not interested in gdbserver or what you think may be happening in
the future.  If the SuspendThread/ResumeThread code can be eliminated
from win32-nat.c along with all of the bookkeeping that is required to
avoid races then it may be a good idea to do so.  Whether it is a good
idea in light of future enhancements is a decision I can make but,
personally, I rarely see a good reason to keep code complication around
for the future unless someone is actually planning to do the work.

We can stop talking about this now since it is apparent that no one
actually knows the answer to my question.

cgf


Okay.
Derived from my previous messages, which by the way I do not really know if you read/undestood, is that for the third time I'm saying SuspendThread I think is safer (as you did think once) and does not really hurt, and it's not such a complication keeping it around, in my opinion.
The only problem I see is that a small bug has been detected, that's all.


If win32-nat.c is going to give control back to gdb in response to a Win32 debug event only, it's obvious SuspendThread is not needed.
When WaitForDebugEvent returns an event, all child threads are stopped, so yes, SuspendThread is *not* needed.
Is this the short answer you were looking for???


Also, may you be interested in the fact that currently interrupting a running program using gdb 6.7 does *not* seem to work? Either if you run gdb alone (not gdbserver) or using a front-end?
To my point, as gdbserver win32 code is win32-nat.c based, funtionality is very similar. One such functionality could be the latest SuspendThread interruption that has been added to gdbserver (but not to win32-nat.c). As such, could you be interested in this for win32-nat.c?
If this functionality is of interest, then that's another reason to keep thread_rec/SuspendThread.




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