summaryrefslogtreecommitdiffstats
path: root/runtime/staprun/mainloop.c
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/staprun/mainloop.c')
-rw-r--r--runtime/staprun/mainloop.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/runtime/staprun/mainloop.c b/runtime/staprun/mainloop.c
index ab228937..7381e3c8 100644
--- a/runtime/staprun/mainloop.c
+++ b/runtime/staprun/mainloop.c
@@ -497,8 +497,10 @@ int stp_main_loop(void)
nb = read(control_channel, recvbuf, sizeof(recvbuf));
dbug(2, "nb=%d\n", (int)nb);
if (nb <= 0) {
- if (errno != EINTR)
+ if (errno != EINTR && errno != EAGAIN) {
_perr("Unexpected EOF in read (nb=%ld)", (long)nb);
+ cleanup_and_exit(0, 1);
+ }
continue;
}