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