remote.c/all-stop: Implement TARGET_WAITKIND_NO_RESUMED and TARGET_WNOHANG
authorPedro Alves <palves@redhat.com>
Fri, 7 Aug 2015 16:23:56 +0000 (17:23 +0100)
committerPedro Alves <palves@redhat.com>
Fri, 7 Aug 2015 16:23:56 +0000 (17:23 +0100)
commit567420d10895611e03d5ee65e6b24c16a69a6e99
treeb4c7c3195515ddb92fd249d1e6ae1ccd09379a1c
parentd8dd4d5fe6d5ab971b731df5f65025a0dbbdb912
remote.c/all-stop: Implement TARGET_WAITKIND_NO_RESUMED and TARGET_WNOHANG

Even though "target remote" supports target-async, the all-stop
target_wait implementation ignores TARGET_WNOHANG.  If the core
happens to poll for events and we've already read the stop reply out
of the serial/socket, remote_wait_as hangs forever instead of
returning an indication that there are no events to process.  This
can't happen currently, but later changes will trigger this.

gdb/ChangeLog:
2015-08-07  Pedro Alves  <palves@redhat.com>

* remote.c (remote_wait_as): If not waiting for a stop reply,
return TARGET_WAITKIND_NO_RESUMED.  If TARGET_WNOHANG is
requested, don't block waiting forever.
gdb/ChangeLog
gdb/remote.c