summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--overlay/mgdb/gdb/winnt-nat.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/overlay/mgdb/gdb/winnt-nat.c b/overlay/mgdb/gdb/winnt-nat.c
index ad3137c..16e7b3c 100644
--- a/overlay/mgdb/gdb/winnt-nat.c
+++ b/overlay/mgdb/gdb/winnt-nat.c
@@ -906,6 +906,7 @@ static enum gdb_signal winnt_dbg_signal(struct __dbg_event * event)
static struct __dbg_event * winnt_wait_event(ptid_t ptid)
{
+ int ret;
struct __dbg_event event;
struct winnt_process * pdbg;
struct winnt_process * pcap;
@@ -938,8 +939,9 @@ static struct __dbg_event * winnt_wait_event(ptid_t ptid)
? winnt_poll_one_init(pfds,ptid.pid)
: winnt_poll_init(pfds);
- if (poll(pfds,nfds,-1) < 0)
- return 0;
+ do {
+ ret = poll(pfds,nfds,-1);
+ } while ((ret < 0) && (errno == EINTR));
for (i=0, pfd=0; i<nfds && !pfd; i++)
if (pfds[i].revents & POLLIN)