From d7a211d5fc0a16ba26503ed9e6110c680774cad5 Mon Sep 17 00:00:00 2001 From: midipix Date: Sun, 13 Oct 2019 23:30:43 +0000 Subject: mgdb: winnt_wait_event(): properly handle EINTR. --- overlay/mgdb/gdb/winnt-nat.c | 6 ++++-- 1 file 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