return -1;
graphics->data.vnc.portReserved = true;
}
- if (graphics->data.vnc.websocket > 0 &&
- virPortAllocatorSetUsed(graphics->data.vnc.websocket) < 0)
- return -1;
+ if (graphics->data.vnc.websocket > 0) {
+ if (virPortAllocatorSetUsed(graphics->data.vnc.websocket) < 0)
+ return -1;
+ graphics->data.vnc.websocketReserved = true;
+ }
break;
case VIR_DOMAIN_GRAPHICS_TYPE_SPICE:
virPortAllocatorRelease(graphics->data.vnc.websocket);
graphics->data.vnc.websocketGenerated = false;
graphics->data.vnc.websocket = -1;
- } else if (graphics->data.vnc.websocket) {
+ } else if (graphics->data.vnc.websocketReserved) {
virPortAllocatorRelease(graphics->data.vnc.websocket);
}
}