diff --git a/examples/curl/Curl.cc b/examples/curl/Curl.cc index 444ab32ee..19c1150de 100644 --- a/examples/curl/Curl.cc +++ b/examples/curl/Curl.cc @@ -161,6 +161,7 @@ int Curl::socketCallback(CURL* c, int fd, int what, void* userp, void* socketp) muduo::net::Channel* ch = static_cast(socketp); if (!ch) { + if (req->getChannel()) return 0; ch = req->setChannel(fd); ch->setReadCallback(std::bind(&Curl::onRead, curl, fd)); ch->setWriteCallback(std::bind(&Curl::onWrite, curl, fd));