aboutsummaryrefslogtreecommitdiff
path: root/src/libssh2.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libssh2.c')
-rw-r--r--src/libssh2.c9
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;
}