Commit 4ab1d4ca by xiongziliang

更新ZLToolKit(解决可能丢失事件的问题)

parent 059c118e
Subproject commit 6d7e1bfafa98837f16c0645d8ea89e51e3f68fea Subproject commit 2814157d5998ea627a8a42d6e19ad5c4a2b767fc
...@@ -41,7 +41,8 @@ using namespace mediakit; ...@@ -41,7 +41,8 @@ using namespace mediakit;
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
//设置退出信号处理函数 //设置退出信号处理函数
signal(SIGINT, [](int) { EventPollerPool::Instance().shutdown(); }); static semaphore sem;
signal(SIGINT, [](int) { sem.post(); });// 设置退出信号
//设置日志 //设置日志
Logger::Instance().add(std::make_shared<ConsoleChannel>()); Logger::Instance().add(std::make_shared<ConsoleChannel>());
...@@ -52,7 +53,6 @@ int main(int argc, char *argv[]) { ...@@ -52,7 +53,6 @@ int main(int argc, char *argv[]) {
<< "例如你想每隔50毫秒启动共计100个播放器(tcp方式播放rtsp://127.0.0.1/live/0 )可以输入以下命令:\r\n" << "例如你想每隔50毫秒启动共计100个播放器(tcp方式播放rtsp://127.0.0.1/live/0 )可以输入以下命令:\r\n"
<< "./test_benchmark 100 50 rtsp://127.0.0.1/live/0 0\r\n" << "./test_benchmark 100 50 rtsp://127.0.0.1/live/0 0\r\n"
<< endl; << endl;
Logger::Destory();
return 0; return 0;
} }
...@@ -81,8 +81,7 @@ int main(int argc, char *argv[]) { ...@@ -81,8 +81,7 @@ int main(int argc, char *argv[]) {
return true; return true;
}); });
EventPollerPool::Instance().wait(); sem.wait();
AsyncTaskThread::Instance().CancelTask(0);
return 0; return 0;
} }
...@@ -102,7 +102,9 @@ static onceToken s_token([](){ ...@@ -102,7 +102,9 @@ static onceToken s_token([](){
int main(int argc,char *argv[]){ int main(int argc,char *argv[]){
//设置退出信号处理函数 //设置退出信号处理函数
signal(SIGINT, [](int){EventPollerPool::Instance().shutdown();}); static semaphore sem;
signal(SIGINT, [](int) { sem.post(); });// 设置退出信号
//设置日志 //设置日志
Logger::Instance().add(std::make_shared<ConsoleChannel>()); Logger::Instance().add(std::make_shared<ConsoleChannel>());
Logger::Instance().setWriter(std::make_shared<AsyncLogWriter>()); Logger::Instance().setWriter(std::make_shared<AsyncLogWriter>());
...@@ -133,7 +135,7 @@ int main(int argc,char *argv[]){ ...@@ -133,7 +135,7 @@ int main(int argc,char *argv[]){
InfoL << "你可以在浏览器输入:http://127.0.0.1/api/my_api?key0=val0&key1=参数1" << endl; InfoL << "你可以在浏览器输入:http://127.0.0.1/api/my_api?key0=val0&key1=参数1" << endl;
EventPollerPool::Instance().wait(); sem.wait();
return 0; return 0;
} }
...@@ -41,7 +41,9 @@ using namespace mediakit; ...@@ -41,7 +41,9 @@ using namespace mediakit;
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
//设置退出信号处理函数 //设置退出信号处理函数
signal(SIGINT, [](int) { EventPollerPool::Instance().shutdown(); }); static semaphore sem;
signal(SIGINT, [](int) { sem.post(); });// 设置退出信号
//设置日志 //设置日志
Logger::Instance().add(std::make_shared<ConsoleChannel>()); Logger::Instance().add(std::make_shared<ConsoleChannel>());
Logger::Instance().setWriter(std::make_shared<AsyncLogWriter>()); Logger::Instance().setWriter(std::make_shared<AsyncLogWriter>());
...@@ -182,8 +184,7 @@ int main(int argc, char *argv[]) { ...@@ -182,8 +184,7 @@ int main(int argc, char *argv[]) {
} }
}); });
//事件轮询 sem.wait();
EventPollerPool::Instance().wait();
return 0; return 0;
} }
...@@ -50,7 +50,6 @@ int main(int argc, char *argv[]) { ...@@ -50,7 +50,6 @@ int main(int argc, char *argv[]) {
ErrorL << "\r\n测试方法:./test_player rtxp_url rtp_type\r\n" ErrorL << "\r\n测试方法:./test_player rtxp_url rtp_type\r\n"
<< "例如:./test_player rtsp://admin:123456@127.0.0.1/live/0 0\r\n" << "例如:./test_player rtsp://admin:123456@127.0.0.1/live/0 0\r\n"
<< endl; << endl;
Logger::Destory();
return 0; return 0;
} }
......
...@@ -83,7 +83,8 @@ void rePushDelay(const string &app, const string &stream, const string &url) { ...@@ -83,7 +83,8 @@ void rePushDelay(const string &app, const string &stream, const string &url) {
//这里才是真正执行main函数,你可以把函数名(domain)改成main,然后就可以输入自定义url了 //这里才是真正执行main函数,你可以把函数名(domain)改成main,然后就可以输入自定义url了
int domain(const string &playUrl, const string &pushUrl) { int domain(const string &playUrl, const string &pushUrl) {
//设置退出信号处理函数 //设置退出信号处理函数
signal(SIGINT, [](int) { EventPollerPool::Instance().shutdown(); }); static semaphore sem;
signal(SIGINT, [](int) { sem.post(); });// 设置退出信号
//设置日志 //设置日志
Logger::Instance().add(std::make_shared<ConsoleChannel>()); Logger::Instance().add(std::make_shared<ConsoleChannel>());
Logger::Instance().setWriter(std::make_shared<AsyncLogWriter>()); Logger::Instance().setWriter(std::make_shared<AsyncLogWriter>());
...@@ -101,8 +102,7 @@ int domain(const string &playUrl, const string &pushUrl) { ...@@ -101,8 +102,7 @@ int domain(const string &playUrl, const string &pushUrl) {
createPusher(app, stream, pushUrl); createPusher(app, stream, pushUrl);
} }
}); });
//事件轮询 sem.wait();
EventPollerPool::Instance().wait();
return 0; return 0;
} }
......
...@@ -92,7 +92,9 @@ void rePushDelay(const string &app,const string &stream,const string &url){ ...@@ -92,7 +92,9 @@ void rePushDelay(const string &app,const string &stream,const string &url){
//这里才是真正执行main函数,你可以把函数名(domain)改成main,然后就可以输入自定义url了 //这里才是真正执行main函数,你可以把函数名(domain)改成main,然后就可以输入自定义url了
int domain(const string & filePath,const string & pushUrl){ int domain(const string & filePath,const string & pushUrl){
//设置退出信号处理函数 //设置退出信号处理函数
signal(SIGINT, [](int){EventPollerPool::Instance().shutdown();}); static semaphore sem;
signal(SIGINT, [](int) { sem.post(); });// 设置退出信号
//设置日志 //设置日志
Logger::Instance().add(std::make_shared<ConsoleChannel>()); Logger::Instance().add(std::make_shared<ConsoleChannel>());
Logger::Instance().setWriter(std::make_shared<AsyncLogWriter>()); Logger::Instance().setWriter(std::make_shared<AsyncLogWriter>());
...@@ -103,8 +105,7 @@ int domain(const string & filePath,const string & pushUrl){ ...@@ -103,8 +105,7 @@ int domain(const string & filePath,const string & pushUrl){
//限制app为record是为了防止服务器上的文件被肆意访问 //限制app为record是为了防止服务器上的文件被肆意访问
createPusher(appName,filePath,pushUrl); createPusher(appName,filePath,pushUrl);
//开始事件轮询 sem.wait();
EventPollerPool::Instance().wait();
return 0; return 0;
} }
......
...@@ -229,7 +229,8 @@ static onceToken s_token([](){ ...@@ -229,7 +229,8 @@ static onceToken s_token([](){
int main(int argc,char *argv[]) { int main(int argc,char *argv[]) {
//设置退出信号处理函数 //设置退出信号处理函数
signal(SIGINT, [](int) { EventPollerPool::Instance().shutdown(); }); static semaphore sem;
signal(SIGINT, [](int) { sem.post(); });// 设置退出信号
signal(SIGHUP, [](int) { loadIniConfig(); }); signal(SIGHUP, [](int) { loadIniConfig(); });
//设置日志 //设置日志
...@@ -354,7 +355,7 @@ int main(int argc,char *argv[]) { ...@@ -354,7 +355,7 @@ int main(int argc,char *argv[]) {
} }
}); });
EventPollerPool::Instance().wait(); sem.wait();
return 0; return 0;
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论