diff options
Diffstat (limited to 'src/libssh2.c')
-rw-r--r-- | src/libssh2.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/libssh2.c b/src/libssh2.c index 23c2f1d..530e4ef 100644 --- a/src/libssh2.c +++ b/src/libssh2.c @@ -87,7 +87,14 @@ static int lssh2_handle ( } f_ret = prne_pth_poll(&pfd, 1, -1, ev); - if (f_ret <= 0) { + if (f_ret < 0) { + if (errno == EINTR) { + if (ev == NULL || + pth_event_status(ev) != PTH_STATUS_OCCURRED) + { + continue; + } + } f_ret = -1; break; } |