diff options
author | Ole Troan <ot@cisco.com> | 2016-01-27 23:37:58 +0200 |
---|---|---|
committer | Ole Troan <ot@cisco.com> | 2016-01-27 23:37:58 +0200 |
commit | 4b12b3c35ae6fb7941ba82599f9eb564f5439427 (patch) | |
tree | 01631c4e0f61cff110f28a74497f93bbeceb2e03 | |
parent | efe710fe56f9dc6117f5777dc1f9dbd6748352e4 (diff) |
CLI: If an error happens on the socket being polled, then the CLI
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>
-rw-r--r-- | vlib/vlib/unix/input.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/vlib/vlib/unix/input.c b/vlib/vlib/unix/input.c index ea10e4fc354..f9d7feceeb5 100644 --- a/vlib/vlib/unix/input.c +++ b/vlib/vlib/unix/input.c @@ -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)); |