On 02/15/2012 11:54 AM, Blue Swirl wrote:

> On Wed, Feb 15, 2012 at 16:55, Meador Inge <mead...@codesourcery.com> wrote:
>> Fix an issue where the GDB server implementation was allowing 
>> 'RUN_STATE_DEBUG'
>> transitions to send a signal trap status back to the GDB client while a 
>> syscall
>> is being processed.  This eventually resulted in sending a SIGINT to the GDB
>> client.
>>
>> Signed-off-by: Meador Inge <mead...@codesourcery.com>
>> ---
>>  gdbstub.c |    3 ++-
>>  1 files changed, 2 insertions(+), 1 deletions(-)
>>
>> diff --git a/gdbstub.c b/gdbstub.c
>> index 7d470b6..34d2717 100644
>> --- a/gdbstub.c
>> +++ b/gdbstub.c
>> @@ -2480,7 +2480,6 @@ void gdb_do_syscall(gdb_syscall_complete_cb cb, const 
>> char *fmt, ...)
>>  #ifndef CONFIG_USER_ONLY
>>     vm_stop(RUN_STATE_DEBUG);
>>  #endif
>> -    s->state = RS_IDLE;
>>     va_start(va, fmt);
>>     p = buf;
>>     *(p++) = 'F';
>> @@ -2557,6 +2556,8 @@ static void gdb_read_byte(GDBState *s, int ch)
>>  #endif
>>     {
>>         switch(s->state) {
>> +        case RS_SYSCALL:
>> +            s->state = RS_IDLE;
> 
> Missing break statement or a comment about fallthrough.

The fallthrough is intentional.  I will add a comment.


-- 
Meador Inge
CodeSourcery / Mentor Embedded
http://www.mentor.com/embedded-software

Reply via email to