From e997043d5bc97969ccf26b171c23f2a5bbddfbd1 Mon Sep 17 00:00:00 2001 From: David Smith Date: Mon, 5 Apr 2010 10:55:57 -0500 Subject: Fixed BZ 557165 by adding better error handling. * runtime/staprun/mainloop.c (stp_main_loop): When a read error happens, quit instead of retrying (which can end up in an infinite loop). --- runtime/staprun/mainloop.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'runtime') 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; } -- cgit