Il 18/11/2013 13:25, Marc-André Lureau ha scritto:
> +static int start_hold;
> +
> +void vm_start_hold(void)
> +{
> + start_hold++;
> +}
> +
> +void vm_start_release(void)
> +{
> + start_hold--;
> + vm_start();
> +}
> +
> void vm_start(void)
> {
> + if (start_hold != 0) {
> + return;
> + }
> +
This is interesting. I like it, but I think this sequence:
vm_start_hold()
vm_start_release()
should not call vm_start(), while this:
vm_start_hold()
vm_start()
vm_start_release()
should call it.
Also, vm_start_hold() should assert that the VM is not running.
Paolo