[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] tools/xenconsoled: Initialise static data before use

'fds' and 'current_array_size' are used in a memset() in reset_fds(), and for
the first call to set_fds() before being initialised.

Also initialise nr_fds for sanity sake.

This is another regression introduced by

"Switch from select() to poll() in xenconsoled's IO loop."
  hg c/s 26405:7359c3122c5d
  git cc5434c933153c4b8812d1df901f8915c22830a8

Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Signed-off-by: Marcus Granado <marcus.granado@xxxxxxxxxx>


This is still not enough to fix the issue of xenconsoled exiting after 384
VMs, but does allow us to reliably reach the 383rd VM.

diff -r 94ece33caae2 -r 803a5869bfb5 tools/console/daemon/io.c
--- a/tools/console/daemon/io.c
+++ b/tools/console/daemon/io.c
@@ -70,9 +70,9 @@ static int log_hv_fd = -1;
 static xc_gnttab *xcg_handle = NULL;
-static struct pollfd  *fds;
-static unsigned int current_array_size;
-static unsigned int nr_fds;
+static struct pollfd  *fds = NULL;
+static unsigned int current_array_size = 0;
+static unsigned int nr_fds = 0;
 #define ROUNDUP(_x,_w) (((unsigned long)(_x)+(1UL<<(_w))-1) & ~((1UL<<(_w))-1))

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.