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

Reply via email to