Revision 574b711a spice-qemu-char.c

b/spice-qemu-char.c
176 176
    g_free(s);
177 177
}
178 178

  
179
static void spice_chr_guest_open(struct CharDriverState *chr)
179
static void spice_chr_set_fe_open(struct CharDriverState *chr, int fe_open)
180 180
{
181 181
    SpiceCharDriver *s = chr->opaque;
182
    vmc_register_interface(s);
183
}
184

  
185
static void spice_chr_guest_close(struct CharDriverState *chr)
186
{
187
    SpiceCharDriver *s = chr->opaque;
188
    vmc_unregister_interface(s);
182
    if (fe_open) {
183
        vmc_register_interface(s);
184
    } else {
185
        vmc_unregister_interface(s);
186
    }
189 187
}
190 188

  
191 189
static void print_allowed_subtypes(void)
......
218 216
    chr->opaque = s;
219 217
    chr->chr_write = spice_chr_write;
220 218
    chr->chr_close = spice_chr_close;
221
    chr->chr_guest_open = spice_chr_guest_open;
222
    chr->chr_guest_close = spice_chr_guest_close;
219
    chr->chr_set_fe_open = spice_chr_set_fe_open;
223 220

  
224 221
    QLIST_INSERT_HEAD(&spice_chars, s, next);
225 222

  

Also available in: Unified diff