summaryrefslogtreecommitdiffstats
path: root/communication/server/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'communication/server/src/main')
-rw-r--r--communication/server/src/main/communication_application.cpp177
-rw-r--r--communication/server/src/main/communication_main.cpp145
2 files changed, 107 insertions, 215 deletions
diff --git a/communication/server/src/main/communication_application.cpp b/communication/server/src/main/communication_application.cpp
index 44049492..7240cdb9 100644
--- a/communication/server/src/main/communication_application.cpp
+++ b/communication/server/src/main/communication_application.cpp
@@ -1,5 +1,5 @@
/*
- * @copyright Copyright (c) 2016-2019 TOYOTA MOTOR CORPORATION.
+ * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,15 +14,10 @@
* limitations under the License.
*/
-///////////////////////////////////////////////////////////////////////////////
-/// \ingroup tag_TE_Calculator
-/// \brief
-///
-///
-///
-///
-///
-///////////////////////////////////////////////////////////////////////////////
+/*
+ * This file has been generated automatically.
+ * User hand written code entry is allowed only inside protected zones.
+ */
/*
* This file has been generated automatically.
@@ -37,94 +32,22 @@
#include <peripheral_service/Canif_API.h>
#include <stdio.h>
#include <signal.h>
+#include <string>
+#include <sstream>
+#include <iostream>
#include "communication_cid.h"
#include "communication_communicationlog.h"
-#include "ICR_Common.h"
#include "Thread_Common.h"
-#define NTFY_CommSH4A_Availability "CommSH4A/Availability"
-#define TIMER_SEM_NAME "TIMER_SEM"
-#define INT_SEM_NAME "INT_SEM"
-#define SENDRECV_SEM_NAME "SENDRECV_SEM"
-
-/*------------------------------------------------------------------------------
- * function declaration
- *----------------------------------------------------------------------------*/
-EFrameworkunifiedStatus CommSysCanReady(HANDLE h_app);
-EFrameworkunifiedStatus CallbackCommSH4AAvailability(HANDLE h_app);
-EFrameworkunifiedStatus CANThreadStart(HANDLE h_app);
-EFrameworkunifiedStatus CANThreadStop(HANDLE h_app);
-
-/*------------------------------------------------------------------------------
- * static variables
- *----------------------------------------------------------------------------*/
-HANDLE g_can_thread = NULL;
-
-BOOL g_can_ready = FALSE;
-BOOL g_commsh4a_ready = FALSE;
-
-BOOL g_isaccoff = FALSE; // CAN_TxMsg.cpp needs this
-
-static const FrameworkunifiedProtocolCallbackHandler kCommPcbhs[] = { // LCOV_EXCL_BR_LINE 11: unexpected branch
- {CID_COMMSYS_CAN_READY, CommSysCanReady},
-};
-
-static const FrameworkunifiedNotificationCallbackHandler kCommsysNotificationHandlers[] = { // LCOV_EXCL_BR_LINE 11: unexpected branch // NOLINT (whitespace/line_length)
- {NTFY_CommSH4A_Availability, CallbackCommSH4AAvailability},
-};
-
-EFrameworkunifiedStatus CommSysReadyCheck(HANDLE h_app) {
- EFrameworkunifiedStatus e_status = eFrameworkunifiedStatusOK;
- e_status = FrameworkunifiedPublishServiceAvailability(h_app, TRUE);
- if (eFrameworkunifiedStatusOK != e_status) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __func__,
- "Failed to Publish Service Availability Notification.");
- }
- return e_status;
-}
-
-EFrameworkunifiedStatus CallbackCommSH4AAvailability(HANDLE h_app) {
- EFrameworkunifiedStatus e_status;
- ServiceAvailability tServiceAvailability;
-
- // Read the data from the message
- e_status = FrameworkunifiedGetMsgDataOfSize(h_app, &tServiceAvailability, sizeof(tServiceAvailability), eSMRRelease);
- if (e_status != eFrameworkunifiedStatusOK) { // LCOV_EXCL_BR_LINE 4: NSFW error case.
- // LCOV_EXCL_START 4: NSFW error case.
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- if (e_status == eFrameworkunifiedStatusInvldBufSize) {
- EFrameworkunifiedStatus e_statusClear = FrameworkunifiedClearMsgData(h_app);
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __func__, "FrameworkunifiedClearMsgData (e_status = %d)", e_statusClear);
- }
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __func__, "FrameworkunifiedGetMsgDataOfSize Failed");
- return e_status;
- }
- // LCOV_EXCL_STOP 4: NSFW error case.
-
- // Service Availability
- if (eFrameworkunifiedServiceAvailable != tServiceAvailability.eServiceAvailability) { // LCOV_EXCL_BR_LINE 4: NSFW error case.
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- FRAMEWORKUNIFIEDLOG(ZONE_DEBUG, __func__, "[%s] Availability is FALSE.", tServiceAvailability.cServiceName); // LCOV_EXCL_LINE 4: NSFW error case. // NOLINT (whitespace/line_length)
- return e_status;
- } else {
- g_commsh4a_ready = TRUE;
- FRAMEWORKUNIFIEDLOG(ZONE_INFO, __func__, "[%s] Availability is TRUE.", tServiceAvailability.cServiceName); // LCOV_EXCL_BR_LINE 15:marco defined in "native_service/ns_logger_if.h" // NOLINT (whitespace/line_length)
- }
-
- CommSysReadyCheck(h_app);
- return eFrameworkunifiedStatusOK;
-}
+extern EFrameworkunifiedStatus CANThreadStart(HANDLE h_app);
+extern EFrameworkunifiedStatus CANThreadStop(HANDLE h_app);
-EFrameworkunifiedStatus CommSysCanReady(HANDLE h_app) {
- g_can_ready = TRUE;
- CommSysReadyCheck(h_app);
- return eFrameworkunifiedStatusOK;
-}
+HANDLE g_can_thread = NULL;
EFrameworkunifiedStatus FrameworkunifiedOnInitialization(HANDLE h_app) {
- // Return Status
EFrameworkunifiedStatus e_status = eFrameworkunifiedStatusOK;
- /*UserCodeStartCommunicationOnInitialization*/
+
+ CommonInit();
// API to Register Notification for Service Availability.
e_status = FrameworkunifiedRegisterServiceAvailabilityNotification(h_app,
@@ -147,81 +70,54 @@ EFrameworkunifiedStatus FrameworkunifiedOnInitialization(HANDLE h_app) {
"Service Availability Notification published successfully.");
}
- // Attach callback api to dispatcher for to notify availability
- e_status = FrameworkunifiedAttachCallbacksToDispatcher(h_app, FRAMEWORKUNIFIED_ANY_SOURCE,
- kCommPcbhs, _countof(kCommPcbhs));
- if (e_status != eFrameworkunifiedStatusOK) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __func__,
- "FrameworkunifiedAttachCallbacksToDispatcher Error(%d)", e_status);
- exit(EXIT_FAILURE);
- }
-
- // FIXME : Following code is really needed?
- // Subscribe to service availability
- e_status = FrameworkunifiedSubscribeNotificationsWithCallback(h_app,
- kCommsysNotificationHandlers, _countof(kCommsysNotificationHandlers));
- if (eFrameworkunifiedStatusOK != e_status) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __func__, "Failed to FrameworkunifiedSubscribeNotificationsWithCallback.");
- exit(EXIT_FAILURE);
- }
-
g_can_thread = FrameworkunifiedCreateChildThread(h_app, LAN_SERVICE_CAN,
CANThreadStart, CANThreadStop);
if (g_can_thread == NULL) {
FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Fail to create CAN");
}
- /*UserCodeEndCommunicationOnInitialization*/
+ // API to Publish Service Availability Notification.
+ e_status = FrameworkunifiedPublishServiceAvailability(h_app, TRUE);
+ if (eFrameworkunifiedStatusOK != e_status) {
+ FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__,
+ "Failed to Publish Service Availability Notification.");
+ } else {
+ FRAMEWORKUNIFIEDLOG(ZONE_FUNC, __FUNCTION__,
+ "Service Availability Notification published successfully.");
+ }
+
return e_status;
}
-// LCOV_EXCL_START 8: (dead code there is no function in wakeup)
EFrameworkunifiedStatus FrameworkunifiedOnWakeup(HANDLE h_app) {
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
EFrameworkunifiedStatus e_status = eFrameworkunifiedStatusOK;
return e_status;
}
-// LCOV_EXCL_STOP 8: (dead code there is no function in wakeup)
-// LCOV_EXCL_START 14 Resident process, not called by NSFW
EFrameworkunifiedStatus FrameworkunifiedOnShutdown(HANDLE h_app) {
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
EFrameworkunifiedStatus e_status = eFrameworkunifiedStatusOK;
return e_status;
}
-// LCOV_EXCL_STOP 14 Resident process, not called by NSFW
-// LCOV_EXCL_START 14 Resident process, not called by NSFW
EFrameworkunifiedStatus FrameworkunifiedOnEShutdown(HANDLE h_app) {
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
EFrameworkunifiedStatus e_status = eFrameworkunifiedStatusOK;
return e_status;
}
-// LCOV_EXCL_STOP 14 Resident process, not called by NSFW
-// LCOV_EXCL_START 14 Resident process, not called by NSFW
EFrameworkunifiedStatus FrameworkunifiedOnDestroy(HANDLE h_app) {
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
EFrameworkunifiedStatus e_status = eFrameworkunifiedStatusOK;
return e_status;
}
-// LCOV_EXCL_STOP 14 Resident process, not called by NSFW
-// LCOV_EXCL_START 7: Debug Code
EFrameworkunifiedStatus FrameworkunifiedOnDebugDump(HANDLE h_app) {
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
EFrameworkunifiedStatus e_status = eFrameworkunifiedStatusOK;
return e_status;
}
-// LCOV_EXCL_STOP 7: Debug Code
-// LCOV_EXCL_START 8:(dead code do not use StateMachine)
EFrameworkunifiedStatus FrameworkunifiedCreateStateMachine(HANDLE h_app) {
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
EFrameworkunifiedStatus e_status = eFrameworkunifiedStatusOK;
return e_status;
}
-// LCOV_EXCL_STOP 8:(dead code do not use StateMachine)
static EFrameworkunifiedStatus CommThreadCheckAndStart(HANDLE p, HANDLE c,
UI_32 len, PCVOID data, BOOL current) {
@@ -245,15 +141,6 @@ EFrameworkunifiedStatus FrameworkunifiedOnStart(HANDLE h_app) {
EFrameworkunifiedStatus e_status = eFrameworkunifiedStatusOK;
FRAMEWORKUNIFIEDLOG(ZONE_FUNC, __FUNCTION__, "[START]");
- e_status = FrameworkunifiedPublishServiceAvailability(h_app, FALSE);
- if (eFrameworkunifiedStatusOK != e_status) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__,
- "Failed to Publish Service Availability Notification.");
- } else {
- FRAMEWORKUNIFIEDLOG(ZONE_FUNC, __FUNCTION__,
- "Service Availability Notification published successfully.");
- }
-
e_status = CommThreadCheckAndStart(h_app, g_can_thread,
0, NULL, CommGetAvailabilityCurrent(CAN_AVAILABILITY));
if (eFrameworkunifiedStatusOK != e_status) {
@@ -267,7 +154,6 @@ EFrameworkunifiedStatus FrameworkunifiedOnStart(HANDLE h_app) {
EFrameworkunifiedStatus FrameworkunifiedOnStop(HANDLE h_app) {
EFrameworkunifiedStatus e_status = eFrameworkunifiedStatusOK;
- g_isaccoff = TRUE;
e_status = CommThreadCheckAndStop(h_app, g_can_thread,
0, NULL, CommGetAvailabilityCurrent(CAN_AVAILABILITY));
@@ -279,11 +165,10 @@ EFrameworkunifiedStatus FrameworkunifiedOnStop(HANDLE h_app) {
}
return e_status;
-} // LCOV_EXCL_LINE 10: final line
+}
EFrameworkunifiedStatus FrameworkunifiedOnPreStart(HANDLE h_app) {
EFrameworkunifiedStatus e_status = eFrameworkunifiedStatusOK;
-
FRAMEWORKUNIFIEDLOG(ZONE_FUNC, __FUNCTION__, "[START]");
e_status = CommThreadCheckAndStart(h_app, g_can_thread,
@@ -326,4 +211,16 @@ EFrameworkunifiedStatus FrameworkunifiedOnBackgroundStop(HANDLE h_app) {
FRAMEWORKUNIFIEDLOG(ZONE_FUNC, __FUNCTION__, "[END]");
return e_status;
-} // LCOV_EXCL_BR_LINE 10:Gcov constraints (last row)
+}
+
+std::string MessageDataOutputLog(uint8_t *msg_data, uint32_t len){
+ std::string data_log;
+ int data_buf;
+ for(uint32_t i = 0; i < len; i++){
+ std::ostringstream ss;
+ data_buf = (int)msg_data[i];
+ ss << std::hex << data_buf;
+ data_log = ss.str() + " " + data_log;
+ }
+ return data_log;
+}
diff --git a/communication/server/src/main/communication_main.cpp b/communication/server/src/main/communication_main.cpp
index 5fcb428a..39daae14 100644
--- a/communication/server/src/main/communication_main.cpp
+++ b/communication/server/src/main/communication_main.cpp
@@ -1,5 +1,5 @@
/*
- * @copyright Copyright (c) 2016-2019 TOYOTA MOTOR CORPORATION.
+ * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,21 +14,6 @@
* limitations under the License.
*/
-///////////////////////////////////////////////////////////////////////////////
-/// \ingroup
-/// \brief
-///
-///
-///
-///
-///
-///////////////////////////////////////////////////////////////////////////////
-
-/*
- * This file has been generated automatically.
- * User hand written code entry is allowed only inside protected zones.
- */
-
#include <errno.h>
#include <sys/timerfd.h>
#include <unistd.h>
@@ -48,9 +33,9 @@
#include "CAN_Thread.h"
#include "Thread_Common.h"
-CFrameworkunifiedVersion g_FrameworkunifiedVersion(MAJORNO, MINORNO, REVISION); // NOLINT (readability/naming)
+CFrameworkunifiedVersion g_FrameworkunifiedVersion(MAJORNO, MINORNO, REVISION);
-FRAMEWORKUNIFIEDLOGPARAM g_FrameworkunifiedLogParams = { // NOLINT (readability/naming)
+FRAMEWORKUNIFIEDLOGPARAM g_FrameworkunifiedLogParams = {
FRAMEWORKUNIFIEDLOGOPTIONS,
{ZONE_TEXT_10, ZONE_TEXT_11, ZONE_TEXT_12,
ZONE_TEXT_13, ZONE_TEXT_14, ZONE_TEXT_15,
@@ -63,42 +48,71 @@ FRAMEWORKUNIFIEDLOGPARAM g_FrameworkunifiedLogParams = { // NOLINT (readability
FRAMEWORKUNIFIEDLOGZONES};
extern HANDLE g_can_thread;
+static bool capture_log_flg = FALSE;
#define COMMSYS_SND_ERR_CNT_MAX 10
-//////////////////////////////////////////
-// Function : main
-//////////////////////////////////////////
+static void MessageHandler(HANDLE h_app) {
+ EFrameworkunifiedStatus e_status = eFrameworkunifiedStatusOK;
+ e_status = FrameworkunifiedDispatchProcessWithoutLoop(h_app);
+ if (e_status != eFrameworkunifiedStatusOK) {
+ // Ignore Error. Logging only.
+ FRAMEWORKUNIFIEDLOG(ZONE_ERR, __func__, "FrameworkunifiedDispatchProcessWithoutLoop: %d", e_status);
+ }
+}
+
+static void TimeoutHandlerCAN(HANDLE h_app) {
+ EFrameworkunifiedStatus e_status = eFrameworkunifiedStatusOK;
+ uint32_t dummy = 0;
+ static uint32_t snd_err_cnt_can = 0;
+
+ if (CommGetAvailabilityCurrent(CAN_AVAILABILITY)) {
+ e_status = FrameworkunifiedSendChild(h_app, g_can_thread,
+ CID_COMMSYS_TIMEOUT, 0, &dummy);
+ if (e_status != eFrameworkunifiedStatusOK) {
+ snd_err_cnt_can++;
+ FRAMEWORKUNIFIEDLOG(ZONE_ERR, __func__,
+ "FrameworkunifiedSendChild(timeout for can) faild: %d", e_status);
+
+ if (capture_log_flg)
+ return;
+
+ if (snd_err_cnt_can < COMMSYS_SND_ERR_CNT_MAX)
+ return;
+
+ SendUserInvokedLoggingRequestToSystemManager(
+ e_SS_SM_CAPTURE_DTC_LOGS, "Send CAN TimeoutNtfy Error");
+ capture_log_flg = true;
+ } else {
+ snd_err_cnt_can = 0;
+ }
+ }
+}
int main(int argc, char *argv[]) {
EFrameworkunifiedStatus e_status = eFrameworkunifiedStatusOK;
FrameworkunifiedDefaultCallbackHandler cb_funcs;
- FRAMEWORKUNIFIED_MAKE_DEFAULT_CALLBACK(cb_funcs); // LCOV_EXCL_BR_LINE 15:marco defined in "system_service/ss_system_if.h"
+ FRAMEWORKUNIFIED_MAKE_DEFAULT_CALLBACK(cb_funcs);
HANDLE h_app;
- FRAMEWORKUNIFIED_SET_ZONES(); // LCOV_EXCL_BR_LINE 15:marco defined in "native_service/ns_logger_if.h"
+ FRAMEWORKUNIFIED_SET_ZONES();
struct pollfd fds[2];
int ret;
- uint32_t dummy = 0;
- uint32_t snd_err_cnt_can = 0;
- BOOL capture_log_flg = FALSE; // Log save flag(Saved:TRUE, Unsaved:FALSE)
- e_status = FrameworkunifiedCreateDispatcherWithoutLoop(LAN_SERVICE_MAIN, h_app, argc, argv, &cb_funcs, TRUE); // LCOV_EXCL_BR_LINE 11:Unexpected branch // NOLINT (whitespace/line_length)
- if (e_status != eFrameworkunifiedStatusOK) { // LCOV_EXCL_BR_LINE 4: NSFW error case.
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __func__, "FrameworkunifiedCreateDispatcherWithoutLoop: %d", e_status); // LCOV_EXCL_LINE 4: NSFW error case.
+ e_status = FrameworkunifiedCreateDispatcherWithoutLoop(LAN_SERVICE_MAIN,
+ h_app, argc, argv, &cb_funcs, TRUE);
+ if (e_status != eFrameworkunifiedStatusOK) {
+ FRAMEWORKUNIFIEDLOG(ZONE_ERR, __func__, "FrameworkunifiedCreateDispatcherWithoutLoop: %d", e_status);
return EXIT_FAILURE;
}
- e_status = FrameworkunifiedGetDispatcherFD(h_app, &fds[0].fd); // LCOV_EXCL_BR_LINE 11:Unexpected branch
- if (e_status != eFrameworkunifiedStatusOK) { // LCOV_EXCL_BR_LINE 4: NSFW error case.
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __func__, "FrameworkunifiedGetDispatcherFD: %d", e_status); // LCOV_EXCL_LINE 4: NSFW error case.
+ e_status = FrameworkunifiedGetDispatcherFD(h_app, &fds[0].fd);
+ if (e_status != eFrameworkunifiedStatusOK) {
+ FRAMEWORKUNIFIEDLOG(ZONE_ERR, __func__, "FrameworkunifiedGetDispatcherFD: %d", e_status);
return EXIT_FAILURE;
}
- if ((fds[1].fd = timerfd_create(CLOCK_MONOTONIC, TFD_CLOEXEC)) == -1) { // LCOV_EXCL_BR_LINE 5: timerfd_create's error case. // NOLINT (whitespace/line_length)
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __func__, "timerfd_create: %d", errno); // LCOV_EXCL_LINE 5: timerfd_create's error case.
+ if ((fds[1].fd = timerfd_create(CLOCK_MONOTONIC, TFD_CLOEXEC)) == -1) {
+ FRAMEWORKUNIFIEDLOG(ZONE_ERR, __func__, "timerfd_create: %d", errno);
return EXIT_FAILURE;
}
@@ -107,53 +121,34 @@ int main(int argc, char *argv[]) {
tm.it_value.tv_nsec = 100 * 1000 * 1000;
tm.it_interval.tv_sec = 0;
tm.it_interval.tv_nsec = 100 * 1000 * 1000;
- if (timerfd_settime(fds[1].fd, 0, &tm, NULL) == -1) { // LCOV_EXCL_BR_LINE 5: timerfd_create's error case.
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __func__, "timerfd_settime: %d", errno); // LCOV_EXCL_LINE 5: timerfd_create's error case.
+ if (timerfd_settime(fds[1].fd, 0, &tm, NULL) == -1) {
+ FRAMEWORKUNIFIEDLOG(ZONE_ERR, __func__, "timerfd_settime: %d", errno);
return EXIT_FAILURE;
}
fds[0].events = POLLIN;
fds[1].events = POLLIN;
while (1) {
- ret = poll(fds, sizeof(fds) / sizeof(struct pollfd), -1); // LCOV_EXCL_BR_LINE 5: poll's error case.
- if (ret < 0) { // LCOV_EXCL_BR_LINE 5: poll's error case.
- // LCOV_EXCL_START 5: poll's error case.
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- if (errno == EINTR) { /* signal interrupt */
+ ret = poll(fds, sizeof(fds) / sizeof(struct pollfd), -1);
+ if (ret < 0) {
+ if (errno == EINTR) {
continue;
}
FRAMEWORKUNIFIEDLOG(ZONE_ERR, __func__, "poll errno:%d", errno);
- // LCOV_EXCL_STOP 5: poll's error case.
- } else {
- if ((fds[0].revents & POLLIN) != 0) {
- e_status = FrameworkunifiedDispatchProcessWithoutLoop(h_app); // LCOV_EXCL_BR_LINE 11:Unexpected branch
- if (e_status != eFrameworkunifiedStatusOK) { // LCOV_EXCL_BR_LINE 4: NSFW error case.
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __func__, "FrameworkunifiedDispatchProcessWithoutLoop: %d", e_status); // LCOV_EXCL_LINE 4: NSFW error case. // NOLINT (whitespace/line_length)
- }
- } else if ((fds[1].revents & POLLIN) != 0) { // LCOV_EXCL_BR_LINE 5: poll's error case.
- // Timeout
- uint64_t exp;
- read(fds[1].fd, &exp, sizeof(uint64_t)); // LCOV_EXCL_BR_LINE 11:Unexpected branch
-
- // Timeout notification to the CAN thread
- if (CommGetAvailabilityCurrent(CAN_AVAILABILITY)) {
- e_status = FrameworkunifiedSendChild(h_app, g_can_thread, CID_COMMSYS_TIMEOUT, 0, &dummy); // LCOV_EXCL_BR_LINE 11:Unexpected branch // NOLINT (whitespace/line_length)
- if (e_status != eFrameworkunifiedStatusOK) { // LCOV_EXCL_BR_LINE 4: NSFW error case.
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- snd_err_cnt_can++; // LCOV_EXCL_LINE 4: NSFW error case.
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __func__, "FrameworkunifiedSendChild(timeout for can) faild: %d", e_status); // LCOV_EXCL_LINE 4: NSFW error case. // NOLINT (whitespace/line_length)
- if (!capture_log_flg && (snd_err_cnt_can >= COMMSYS_SND_ERR_CNT_MAX)) { // LCOV_EXCL_LINE 4: NSFW error case. // NOLINT (whitespace/line_length)
- SendUserInvokedLoggingRequestToSystemManager(e_SS_SM_CAPTURE_DTC_LOGS, "Send CAN TimeoutNtfy Error"); // LCOV_EXCL_LINE 4: NSFW error case. // NOLINT (whitespace/line_length)
- capture_log_flg = TRUE; // LCOV_EXCL_LINE 4: NSFW error case.
- }
- } else {
- snd_err_cnt_can = 0;
- }
- }
- }
+ continue;
+ }
+
+ if ((fds[0].revents & POLLIN) != 0) {
+ MessageHandler(h_app);
+ continue;
+ }
+
+ if ((fds[1].revents & POLLIN) != 0) {
+ uint64_t exp;
+ read(fds[1].fd, &exp, sizeof(uint64_t));
+ TimeoutHandlerCAN(h_app);
+ continue;
}
}
return EXIT_SUCCESS;
-} // LCOV_EXCL_LINE 10: final line
+} \ No newline at end of file