From 58e9d6492432ac574d9c9753733b092d5aed16a7 Mon Sep 17 00:00:00 2001 From: hevake_lcj Date: Fri, 12 Aug 2022 15:33:57 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E6=89=93=E5=8D=B0=EF=BC=8C=E9=BB=98=E8=AE=A4=E4=B8=8D=E5=BC=80?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main/log.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main/log.cpp b/main/log.cpp index 1cfc5c6..eb932e5 100644 --- a/main/log.cpp +++ b/main/log.cpp @@ -31,7 +31,7 @@ void Log::fillDefaultConfig(Json &cfg) const "levels": {"":6} }, "filelog": { - "enable": true, + "enable": false, "enable_color": false, "levels": {"":3}, "prefix": "sample", -- Gitee From 15a393807fcae5775f30f5f88432021088fa76bd Mon Sep 17 00:00:00 2001 From: hevake_lcj Date: Tue, 16 Aug 2022 10:24:08 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9base/log=5Fimp.cpp?= =?UTF-8?q?=EF=BC=8C=E8=A7=A3=E5=86=B3=E6=97=A5=E5=BF=97=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=90=8D=E8=BF=87=E9=95=BF=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=8C?= =?UTF-8?q?=E6=94=B9=E6=88=90=E5=8F=AA=E6=98=BE=E7=A4=BAbasename=EF=BC=8C?= =?UTF-8?q?=E4=B8=8D=E6=98=BE=E7=A4=BA=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- base/log_imp.cpp | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/base/log_imp.cpp b/base/log_imp.cpp index 19088d8..3a54c0f 100644 --- a/base/log_imp.cpp +++ b/base/log_imp.cpp @@ -8,12 +8,10 @@ #include #include -#ifdef __cplusplus -extern "C" { -#endif +namespace { -static std::mutex _lock; -static uint32_t _id_alloc = 0; +std::mutex _lock; +uint32_t _id_alloc = 0; struct OutputChannel { uint32_t id; @@ -21,7 +19,19 @@ struct OutputChannel { void *ptr; }; -static std::vector _output_channels; +std::vector _output_channels; + +const char* Basename(const char *full_path) +{ + const char *p_last = full_path; + for (const char *p = full_path; *p; ++p) { + if (*p == '/') + p_last = p + 1; + } + return p_last; +} + +} /** * \brief 日志格式化打印接口的实现 @@ -52,7 +62,7 @@ void LogPrintfFunc(const char *module_id, const char *func_name, const char *fil }, .module_id = module_id_be_print, .func_name = func_name, - .file_name = file_name, + .file_name = Basename(file_name), .line = line, .level = level, .with_args = with_args, @@ -103,6 +113,3 @@ bool LogRemovePrintfFunc(uint32_t id) return false; } -#ifdef __cplusplus -} -#endif -- Gitee From 218a534ecbd6d33fe6bc59041462ffdfc9bbbdf7 Mon Sep 17 00:00:00 2001 From: hevake_lcj Date: Wed, 17 Aug 2022 11:07:38 +0800 Subject: [PATCH 3/3] =?UTF-8?q?fixbug:=20=E8=A7=A3=E5=86=B3event/engins/ep?= =?UTF-8?q?oll=E4=B8=ADTimerEvent=E5=9C=A8Oneshot=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E4=B8=8B=E8=A7=A6=E5=8F=91=E5=90=8EisEnabled()=E4=BE=9D?= =?UTF-8?q?=E6=97=A7=E4=B8=BAtrue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- event/engins/epoll/fd_event.cpp | 7 +++---- event/engins/epoll/timer_event.cpp | 5 +++++ event/timer_event_test.cpp | 2 ++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/event/engins/epoll/fd_event.cpp b/event/engins/epoll/fd_event.cpp index 58ff0ed..d1c21e3 100644 --- a/event/engins/epoll/fd_event.cpp +++ b/event/engins/epoll/fd_event.cpp @@ -141,14 +141,13 @@ void EpollFdEvent::onEvent(short events) { wp_loop_->beginEventProcess(); - if (cb_) { + if (is_stop_after_trigger_) + disable(); + if (cb_) { ++cb_level_; cb_(events); --cb_level_; - - if (is_stop_after_trigger_) - disable(); } wp_loop_->endEventProcess(); diff --git a/event/engins/epoll/timer_event.cpp b/event/engins/epoll/timer_event.cpp index 908a4bb..81d6ae0 100644 --- a/event/engins/epoll/timer_event.cpp +++ b/event/engins/epoll/timer_event.cpp @@ -80,6 +80,11 @@ void EpollTimerEvent::onEvent() { wp_loop_->beginEventProcess(); + if (mode_ == Mode::kOneshot) { + is_enabled_ = false; + token_.reset(); + } + if (cb_) { ++cb_level_; cb_(); diff --git a/event/timer_event_test.cpp b/event/timer_event_test.cpp index 776e329..610893f 100644 --- a/event/timer_event_test.cpp +++ b/event/timer_event_test.cpp @@ -27,6 +27,7 @@ TEST(TimerEvent, Oneshot) sp_loop->runLoop(); EXPECT_EQ(run_time, 1); + EXPECT_FALSE(timer_event->isEnabled()); delete timer_event; delete sp_loop; @@ -50,6 +51,7 @@ TEST(TimerEvent, Persist) sp_loop->runLoop(); EXPECT_EQ(run_time, 10); + EXPECT_TRUE(timer_event->isEnabled()); delete timer_event; delete sp_loop; -- Gitee