Hi,
> Allow a socket that connects to reconnect on a periodic basis if it
> fails to connect at startup or if the connection drops while in use.
> + chr->backend = i;
> + chr->recon_time = qemu_opt_get_number(opts, "reconnect", 0);
> + if (chr->recon_time) {
> + if (strcmp(qemu_opt_get(opts, "backend"), "socket") != 0) {
> + g_free(chr);
> + fprintf(stderr, "chardev: reconnect only supported on
> sockets\n");
> + return NULL;
> + }
I think it would work *much* better to just add a "chr_reconnect"
function pointer to CharDriverState. You don't need patch #1 then.
Also it avoids backend-specific bits in generic code. Generic code just
checks if chr->chr_reconnect exists to figure whenever reconnect is
supported or not. And the socket backend can set chr_reconnect for
client sockets only.
cheers,
Gerd