diff --git a/event/engins/epoll/fd_event.cpp b/event/engins/epoll/fd_event.cpp index f341b4074c09aaf1b4b7b602a06d48ec6dedbeca..58ff0ed65f3b7129bf8f2149b4d30dd4e9811a9f 100644 --- a/event/engins/epoll/fd_event.cpp +++ b/event/engins/epoll/fd_event.cpp @@ -28,10 +28,12 @@ EpollFdEvent::~EpollFdEvent() disable(); - --d_->ref; - if (d_->ref == 0) { - wp_loop_->removeFdSharedData(fd_); - delete d_; + if (d_ != nullptr) { + --d_->ref; + if (d_->ref == 0) { + wp_loop_->removeFdSharedData(fd_); + delete d_; + } } } diff --git a/terminal/terminal_nodes.h b/terminal/terminal_nodes.h index ad9ae0e855a91d1b800d18fe4ce713e3f3186105..b09b052078d5bead4ee696dfd5c164d5b9a30c47 100644 --- a/terminal/terminal_nodes.h +++ b/terminal/terminal_nodes.h @@ -2,6 +2,7 @@ #define TBOX_TERMINAL_NODES_H_20220214 #include "types.h" +#include "session.h" namespace tbox { namespace terminal {