CLI: If an error happens on the socket being polled, then the CLI 26/226/1
authorOle Troan <ot@cisco.com>
Wed, 27 Jan 2016 21:37:58 +0000 (23:37 +0200)
committerOle Troan <ot@cisco.com>
Wed, 27 Jan 2016 21:37:58 +0000 (23:37 +0200)
does not close the socket. Resulting in the main thread being stuck
in a tight infinite loop polling on the erronous socket.

Change-Id: I630b84b97c059acce117d56e41cd201131db4cab
Signed-off-by: Ole Troan <ot@cisco.com>
vlib/vlib/unix/input.c

index ea10e4f..f9d7fec 100644 (file)
@@ -195,6 +195,8 @@ linux_epoll_input (vlib_main_t * vm,
               errors[n_errors] = f->error_function (f);
               n_errors += errors[n_errors] != 0;
             }
+         else
+            close(f->file_descriptor);
        }
 
       ASSERT (n_errors < ARRAY_LEN (errors));