On Thu, Apr 05, 2012 at 06:06:43PM +0800, Zhihua Che wrote: > Hi, everyone > > I'm writing application using libvirt and I need call > virDomainGetCPUStats to get domain cpu stats . I learn from API > reference that this function has to be called when domain is running. > So my question is if there is an atomic way to test the domain's state > and get its stats? > > Or, it's ok to call this function when domain is not active, but > caller just gets error returned. > > In my code, I just call it directly and return error. I wonder if > this programming practice has subtle problem like race condition. AFAIK there is no way to do this without a race, not least because a VM can power itself off / crash at literally any time. In virt-top, we just catch the error and ignore it. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming blog: http://rwmj.wordpress.com Fedora now supports 80 OCaml packages (the OPEN alternative to F#) http://cocan.org/getting_started_with_ocaml_on_red_hat_and_fedora