tty driver和tty core的Arc指针循环引用问题

tty driver里面的ttys字段,包含了Arc。但是TtyCore里面的coredata字段的tty_driver字段,又有一个类型为Arc的指针。个人认为应该要把TtyCore里面的那个改为Weak的? @GnoCiYeH

pub struct TtyDriver {
    ... 省略一些代码
    /// 具体类型的tty驱动方法
    driver_funcs: Arc<dyn TtyOperation>,
    /// 管理的tty设备列表
    ttys: SpinLock<HashMap<usize, Arc<TtyCore>>>,
 
}

#[derive(Debug)]
pub struct TtyCoreData {
    tty_driver: Arc<TtyDriver>,
    // 省略代码...
}
```
1 个赞