summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQiuwen Lu <[email protected]>2016-12-19 13:11:28 +0800
committerQiuwen Lu <[email protected]>2016-12-19 13:11:28 +0800
commit8840c7c7d61d8c1408d83ec9dd03c3dce81fdad8 (patch)
treeea2cd167aae36bfe3fc74c845efd843b0a5e8bf2
parent092ea4de6b07a6da5e9b349b099d6f209c3a2c67 (diff)
增加service进程重启的间隔时间,由原来的失败重启改为无理由重启。
-rw-r--r--cmake/Version.cmake5
-rw-r--r--runtime/src/event.c12
-rw-r--r--service/src/core.c6
-rw-r--r--tools/systemd/mrzcpd.service.in3
4 files changed, 15 insertions, 11 deletions
diff --git a/cmake/Version.cmake b/cmake/Version.cmake
index cf4452d..3369a0a 100644
--- a/cmake/Version.cmake
+++ b/cmake/Version.cmake
@@ -46,4 +46,7 @@ execute_process(COMMAND uname -r OUTPUT_VARIABLE MARSIO_VERSION_KERNEL)
# print information
message(STATUS "Marsio Version: ${MARSIO_VERSION}-${MARSIO_VERSION_BUILD}")
-message(STATUS "Kernel Version: ${MARSIO_VERSION_KERNEL}") \ No newline at end of file
+message(STATUS "Kernel Version: ${MARSIO_VERSION_KERNEL}")
+
+set(MARSIO_GIT_VERSION "${MARSIO_VERSION}-${MARSIO_VERSION_BUILD}")
+add_definitions(-DGITVER=\"${MARSIO_GIT_VERSION}\") \ No newline at end of file
diff --git a/runtime/src/event.c b/runtime/src/event.c
index c13c7b0..f344431 100644
--- a/runtime/src/event.c
+++ b/runtime/src/event.c
@@ -101,10 +101,10 @@ void * app_crash_thread_monitor_service(void * arg)
char buf[MR_STRING_MAX];
- // �ȴ����ӽ���
- do {
- ret = recv(conn_fd, buf, sizeof(buf), 0);
- } while (ret == -1 && (errno == EINTR));
+ // �ȴ����ӽ���
+ do {
+ ret = recv(conn_fd, buf, sizeof(buf), 0);
+ } while (ret == -1 && (errno == EINTR));
// �������ӽ������������˳���
if (ret == 0)
@@ -135,7 +135,7 @@ int app_crash_raiser_register(struct app_ev_manager * object, const char * appsy
if (unlikely(ret < 0))
{
- MR_LOG(ERR, BASE, "Connect to crash monitor failed : %s", strerror(errno));
+ MR_LOG(ERR, BASE, "Connect to crash monitor failed : %s\n", strerror(errno));
return -2;
}
@@ -143,7 +143,7 @@ int app_crash_raiser_register(struct app_ev_manager * object, const char * appsy
ret = pthread_create(&monitor, NULL, app_crash_thread_monitor_service, (void *)(intptr_t)conn_fd);
if(ret < 0)
{
- MR_LOG(ERR, BASE, "Create crash monitor thread failed : %s", strerror(errno));
+ MR_LOG(ERR, BASE, "Create crash monitor thread failed : %s\n", strerror(errno));
return -3;
}
diff --git a/service/src/core.c b/service/src/core.c
index a0393ef..139ef82 100644
--- a/service/src/core.c
+++ b/service/src/core.c
@@ -111,7 +111,6 @@ static void sc_help()
static void sc_version()
{
- fprintf(stdout, "IIE MARSIO ZeroCopy Packet I/O Service, Version: %s\n", service_git_version);
exit(EXIT_SUCCESS);
}
@@ -287,6 +286,9 @@ void sc_launch_thread(struct sc_instance * instance)
int main(int argc, char * argv[])
{
fprintf(stdout, "%s", mr_logo);
+ fprintf(stdout, "MARSIO ZeroCopy Packet I/O Driver\n"
+ "Version: %s, Using %s\n\n", service_git_version, rte_version());
+
struct sc_instance * instance = sc_instance_new();
sc_stage_parse_cmd(instance, argc, argv);
sc_instance_init(instance);
@@ -294,8 +296,6 @@ int main(int argc, char * argv[])
sc_instance_ctx_init(instance);
MR_LOG(INFO, SERVICE, "Starting IIE MARSIO I/O Service...\n");
- MR_LOG(INFO, SERVICE, "Version : %s, Using %s\n", service_git_version, rte_version());
-
sc_stage_config(instance);
sc_stage_register(instance);
sc_stage_init(instance);
diff --git a/tools/systemd/mrzcpd.service.in b/tools/systemd/mrzcpd.service.in
index 9f8365c..6930c93 100644
--- a/tools/systemd/mrzcpd.service.in
+++ b/tools/systemd/mrzcpd.service.in
@@ -6,7 +6,8 @@ After=mrenv.service
[Service]
EnvironmentFile=/etc/sysconfig/mrzcpd
ExecStart=@MR_INSTALL_BINDIR@/zcpd -c @MR_INSTALL_SYSCONFDIR@/mrglobal.conf
-Restart=on-failure
+Restart=always
+RestartSec=5s
[Install]
WantedBy=multi-user.target \ No newline at end of file