From 332ea0792a2dc722563f548024010866559cc715 Mon Sep 17 00:00:00 2001 From: klcf0220 Date: Sat, 26 Jul 2025 15:48:45 +0800 Subject: [PATCH 1/2] SIGPIPE Signed-off-by: klcf0220 --- interfaces/innerkits/signal_handler/dfx_signal_handler.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interfaces/innerkits/signal_handler/dfx_signal_handler.c b/interfaces/innerkits/signal_handler/dfx_signal_handler.c index 5d58d5090..88b5407b1 100644 --- a/interfaces/innerkits/signal_handler/dfx_signal_handler.c +++ b/interfaces/innerkits/signal_handler/dfx_signal_handler.c @@ -280,7 +280,7 @@ static const int SIGCHAIN_DUMP_SIGNAL_LIST[] = { static const int SIGCHAIN_CRASH_SIGNAL_LIST[] = { SIGILL, SIGABRT, SIGBUS, SIGFPE, - SIGSEGV, SIGSTKFLT, SIGSYS, SIGTRAP + SIGSEGV, SIGSTKFLT, SIGSYS, SIGTRAP, SIGPIPE }; static void ResetAndRethrowSignalIfNeed(int signo, siginfo_t *si) -- Gitee From 8a2572390a847357bf1be308611ad5b8c07ede6d Mon Sep 17 00:00:00 2001 From: klcf0220 Date: Thu, 21 Aug 2025 16:25:27 +0800 Subject: [PATCH 2/2] liteperf fork replace vfork Signed-off-by: klcf0220 --- interfaces/innerkits/dump_catcher/lite_perf.cpp | 8 ++++---- interfaces/innerkits/signal_handler/dfx_signal_handler.c | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/interfaces/innerkits/dump_catcher/lite_perf.cpp b/interfaces/innerkits/dump_catcher/lite_perf.cpp index 0b89c8ff1..c1bfd55c1 100644 --- a/interfaces/innerkits/dump_catcher/lite_perf.cpp +++ b/interfaces/innerkits/dump_catcher/lite_perf.cpp @@ -300,9 +300,9 @@ int LitePerf::Impl::ExecDump(const std::vector& tids, int freq, int duratio } pid_t pid = 0; - pid = vfork(); + pid = fork(); if (pid < 0) { - DFXLOGE("Failed to vfork."); + DFXLOGE("Failed to fork."); return -1; } if (pid == 0) { @@ -312,9 +312,9 @@ int LitePerf::Impl::ExecDump(const std::vector& tids, int freq, int duratio _exit(-1); } - pid_t dumpPid = vfork(); + pid_t dumpPid = fork(); if (dumpPid < 0) { - DFXLOGE("Failed to vfork."); + DFXLOGE("Failed to fork."); _exit(-1); } if (dumpPid == 0) { diff --git a/interfaces/innerkits/signal_handler/dfx_signal_handler.c b/interfaces/innerkits/signal_handler/dfx_signal_handler.c index 79c55e2d5..5deed23ad 100644 --- a/interfaces/innerkits/signal_handler/dfx_signal_handler.c +++ b/interfaces/innerkits/signal_handler/dfx_signal_handler.c @@ -272,7 +272,7 @@ static const int SIGCHAIN_DUMP_SIGNAL_LIST[] = { static const int SIGCHAIN_CRASH_SIGNAL_LIST[] = { SIGILL, SIGABRT, SIGBUS, SIGFPE, - SIGSEGV, SIGSTKFLT, SIGSYS, SIGTRAP, SIGPIPE + SIGSEGV, SIGSTKFLT, SIGSYS, SIGTRAP }; static void ResetAndRethrowSignalIfNeed(int signo, siginfo_t *si) -- Gitee