diff options
author | Spencer Oliver <spen@spen-soft.co.uk> | 2012-12-12 15:42:01 +0000 |
---|---|---|
committer | Spencer Oliver <spen@spen-soft.co.uk> | 2012-12-24 11:01:03 +0000 |
commit | 95025349faabec99d6c6758351a5543caaa54c18 (patch) | |
tree | d7753f49aa6efe38a8378a12cd2b1f099966c7a1 | |
parent | 0466ee7e4a54d1415dea9a8fbe9b361b04895db5 (diff) | |
download | riscv-openocd-95025349faabec99d6c6758351a5543caaa54c18.zip riscv-openocd-95025349faabec99d6c6758351a5543caaa54c18.tar.gz riscv-openocd-95025349faabec99d6c6758351a5543caaa54c18.tar.bz2 |
helper: improve windows gdb pipe performance
Reducing the select and MsgWaitForMultipleObjects timeouts to 1ms makes
a 2-300+% increase in the step time of gdb when using pipes under windows OS.
Change-Id: Id7e52cfb2b206347a9caea61672885a3e2b186de
Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-on: http://openocd.zylin.com/1050
Tested-by: jenkins
-rw-r--r-- | src/helper/replacements.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/helper/replacements.c b/src/helper/replacements.c index 583e616..0ba98a4 100644 --- a/src/helper/replacements.c +++ b/src/helper/replacements.c @@ -206,10 +206,11 @@ int win_select(int max_fd, fd_set *rfds, fd_set *wfds, fd_set *efds, struct time aexcept = sock_except; tvslice.tv_sec = 0; - tvslice.tv_usec = 100000; + tvslice.tv_usec = 1000; retcode = select(sock_max_fd + 1, &aread, &awrite, &aexcept, &tvslice); } + if (n_handles > 0) { /* check handles */ DWORD wret; @@ -217,7 +218,7 @@ int win_select(int max_fd, fd_set *rfds, fd_set *wfds, fd_set *efds, struct time wret = MsgWaitForMultipleObjects(n_handles, handles, FALSE, - retcode > 0 ? 0 : 100, + retcode > 0 ? 0 : 1, QS_ALLEVENTS); if (wret == WAIT_TIMEOUT) { |