fn add_child(&self, child: &Arc<VmObject>) {
        let mut inner = self.inner.lock();
        inner.children.retain(|x| x.strong_count() != 0);
        inner.children.push(Arc::downgrade(child));
        if inner.children.len() == 1 {
            self.base.signal_clear(Signal::VMO_ZERO_CHILDREN);
        }
    }
/// Add child to the list and signal if ZeroChildren signal is active.
/// If the number of children turns 0 to 1, signal it
Add child to the list and signal if ZeroChildren signal is active.
If the number of children turns 0 to 1, signal it
Add child to the list and signal if ZeroChildren signal is active . If the number of children turns 0 to 1 signal it
fn add_child(&self, child: &Arc<VmObject>) {
        let mut inner = self.inner.lock();
        inner.children.retain(|x| x.strong_count() != 0);
        inner.children.push(Arc::downgrade(child));
        if inner.children.len() == 1 {
            self.base.signal_clear(Signal::VMO_ZERO_CHILDREN);
        }
    }
fn add_child ( & self , child : & Arc < VmObject > ) { let mut inner = self . inner . lock ( ) ; inner . children . retain ( | x | x . strong_count ( ) != 0 ) ; inner . children . push ( Arc :: downgrade ( child ) ) ; if inner . children . len ( ) == 1 { self . base . signal_clear ( Signal :: VMO_ZERO_CHILDREN ) ; } }
Add child to the list and signal if ZeroChildren signal is active.
Add child to the list and signal if ZeroChildren signal is active .
&self
child
&Arc<VmObject>
&self
child
&Arc<VmObject>