Call debug_exit in linux_wait_1
authorYao Qi <yao.qi@linaro.org>
Mon, 26 Sep 2016 03:01:19 +0000 (04:01 +0100)
committerYao Qi <yao.qi@linaro.org>
Mon, 26 Sep 2016 03:01:19 +0000 (04:01 +0100)
When I read the GDBserver debug message, I find the "entering" of
linux_wait_1 doesn't match the "existing" of linux_wait_1.  Looks
we don't call debug_exit somewhere in linux_wait_1 on return.

gdb/gdbserver:

2016-09-26  Yao Qi  <yao.qi@linaro.org>

* linux-low.c (linux_wait_1): Call debug_exit.

gdb/gdbserver/ChangeLog
gdb/gdbserver/linux-low.c

index 22f38f2..aace877 100644 (file)
@@ -1,3 +1,7 @@
+2016-09-26  Yao Qi  <yao.qi@linaro.org>
+
+       * linux-low.c (linux_wait_1): Call debug_exit.
+
 2016-09-23  Pedro Alves  <palves@redhat.com>
 
        * Makefile.in (SFILES): Add common/new-op.c.
index 4203b92..94c5bbe 100644 (file)
@@ -3452,6 +3452,8 @@ linux_wait_1 (ptid_t ptid,
 
          linux_resume_one_lwp (event_child, 0, 0, NULL);
 
+         if (debug_threads)
+           debug_exit ();
          return ignore_event (ourstatus);
        }
     }
@@ -3547,6 +3549,9 @@ linux_wait_1 (ptid_t ptid,
 
       linux_resume_one_lwp (event_child, event_child->stepping,
                            0, NULL);
+
+      if (debug_threads)
+       debug_exit ();
       return ignore_event (ourstatus);
     }
 
@@ -3602,6 +3607,10 @@ linux_wait_1 (ptid_t ptid,
          linux_resume_one_lwp (event_child, event_child->stepping,
                                WSTOPSIG (w), info_p);
        }
+
+      if (debug_threads)
+       debug_exit ();
+
       return ignore_event (ourstatus);
     }
 
@@ -3682,6 +3691,10 @@ linux_wait_1 (ptid_t ptid,
        unsuspend_all_lwps (event_child);
 
       proceed_all_lwps ();
+
+      if (debug_threads)
+       debug_exit ();
+
       return ignore_event (ourstatus);
     }