diff --git a/server/wsproxy/app.cc b/server/wsproxy/app.cc index a72c214..dea8306 100644 --- a/server/wsproxy/app.cc +++ b/server/wsproxy/app.cc @@ -307,6 +307,20 @@ bool App::HasTask() return true; } } + { + if (!udp_work_node_) { + udp_msg_mutex_->lock(); + if (!udp_work_node_ && udp_top_node_) { + udp_work_node_ = udp_top_node_; + udp_top_node_ = nullptr; + udp_bot_node_ = nullptr; + } + udp_msg_mutex_->unlock(); + } + if (udp_work_node_) { + return true; + } + } return false; }