diff --git a/src/Shell/ShellCMD.cpp b/src/Shell/ShellCMD.h similarity index 73% rename from src/Shell/ShellCMD.cpp rename to src/Shell/ShellCMD.h index eacc6c9f..8017639c 100644 --- a/src/Shell/ShellCMD.cpp +++ b/src/Shell/ShellCMD.h @@ -45,31 +45,33 @@ public: return; } - if(ini.find("kick") != ini.end()){ - //踢出源 - do{ - if(!media) { - break; - } - if(!media->close(true)) { - break; - } - (*stream) << "\t踢出成功:" + EventPollerPool::Instance().getPoller()->async([ini,media,stream,schema,vhost,app,streamid](){ + if(ini.find("kick") != ini.end()){ + //踢出源 + do{ + if(!media) { + break; + } + if(!media->close(true)) { + break; + } + (*stream) << "\t踢出成功:" + << schema << "/" + << vhost << "/" + << app << "/" + << streamid + << "\r\n"; + return; + }while(0); + (*stream) << "\t踢出失败:" << schema << "/" << vhost << "/" << app << "/" << streamid << "\r\n"; - return; - }while(0); - (*stream) << "\t踢出失败:" - << schema << "/" - << vhost << "/" - << app << "/" - << streamid - << "\r\n"; - return; - } + } + },false); + }); })); @@ -86,11 +88,6 @@ public: } }; -void installShellCMD(){ - static onceToken s_token([]() { - REGIST_CMD(media); - }, nullptr); -} diff --git a/src/Shell/ShellSession.cpp b/src/Shell/ShellSession.cpp index 531f1d6d..bc308499 100644 --- a/src/Shell/ShellSession.cpp +++ b/src/Shell/ShellSession.cpp @@ -25,18 +25,20 @@ */ #include "ShellSession.h" -#include "Common/config.h" #include "Util/CMD.h" #include "Util/onceToken.h" #include "Util/NoticeCenter.h" +#include "Common/config.h" +#include "ShellCMD.h" using namespace toolkit; namespace mediakit { -extern void installShellCMD(); +static onceToken s_token([]() { + REGIST_CMD(media); +}, nullptr); ShellSession::ShellSession(const Socket::Ptr &_sock) : TcpSession(_sock) { - installShellCMD(); pleaseInputUser(); }