diff --git a/src/common/session.cpp b/src/common/session.cpp index 724c8fe6130e829164806f7ee45de204dbef75da..7c74a6a5821a2579915b0e15fc3b9309b2367d8c 100644 --- a/src/common/session.cpp +++ b/src/common/session.cpp @@ -18,7 +18,9 @@ namespace Hdc { HdcSessionBase::HdcSessionBase(bool serverOrDaemonIn) { - // server/daemon common initialize + // server/daemon common initialization code + string threadNum = std::to_string(SIZE_THREAD_POOL); + uv_os_setenv("UV_THREADPOOL_SIZE", threadNum.c_str()); uv_loop_init(&loopMain); WRITE_LOG(LOG_DEBUG, "loopMain init"); uv_rwlock_init(&mainAsync); @@ -28,16 +30,6 @@ HdcSessionBase::HdcSessionBase(bool serverOrDaemonIn) ctxUSB = nullptr; wantRestart = false; - // server/daemon common set - string threadNum = std::to_string(SIZE_THREAD_POOL); - uv_os_setenv("UV_THREADPOOL_SIZE", threadNum.c_str()); -#ifndef _WIN32 - // global signal detect - umask(0); - signal(SIGPIPE, SIG_IGN); // SIG_DFL - // prevent zoombie process, let 'init' process do process's clear - signal(SIGCHLD, SIG_IGN); -#endif #ifdef HDC_HOST if (serverOrDaemon) { libusb_init((libusb_context **)&ctxUSB); diff --git a/src/daemon/main.cpp b/src/daemon/main.cpp index 542908e90d813fe0cdfd649d922d4661761534be..6971a2d42ca3b3a9b0712aab164274d1feb7f8ee 100644 --- a/src/daemon/main.cpp +++ b/src/daemon/main.cpp @@ -36,7 +36,7 @@ bool ForkChildCheck(int argc, const char *argv[]) // hdcd -fork #fork char modeSet[BUF_SIZE_TINY] = ""; Base::GetHdcProperty("persist.hdc.mode", modeSet, BUF_SIZE_TINY); - Base::PrintMessage("Background mode, persist.hdc.mode:[%s]", modeSet); + Base::PrintMessage("Background mode, persist.hdc.mode"); string workMode = modeSet; workMode = Base::Trim(workMode); if (workMode == CMDSTR_TMODE_TCP) { @@ -176,6 +176,9 @@ int main(int argc, const char *argv[]) return BackgroundRun(); } NeedDropPriv(); + umask(0); + signal(SIGPIPE, SIG_IGN); + signal(SIGCHLD, SIG_IGN); WRITE_LOG(LOG_DEBUG, "HdcDaemon main run"); HdcDaemon daemon(false); daemon.InitMod(g_enableTcp, g_enableUsb);