Hi Thuan,
ack from me.
Just find another compilation issue with gcc 9.2.1
make[2]: Entering directory '/home/minhchau/dek/osaftest/opensaf-code'
CXX src/base/lib_libopensaf_core_la-logtrace.lo
src/base/logtrace.cc:61:14: error: 'pid_t gettid()' was declared
'extern' and later 'static' [-fpermissive]
61 | static pid_t gettid() { return syscall(SYS_gettid); }
Can we add the below patch within this commit? Otherwise I can raise
another ticket.
diff --git a/src/base/logtrace.cc b/src/base/logtrace.cc
index 9822879ab..31c9294e2 100644
--- a/src/base/logtrace.cc
+++ b/src/base/logtrace.cc
@@ -58,7 +58,7 @@ std::once_flag init_flag;
thread_local LogTraceBuffer gl_thread_buffer{gl_local_thread_trace,
global::thread_trace_buffer_size};
-static pid_t gettid() { return syscall(SYS_gettid); }
+static pid_t get_tid() { return syscall(SYS_gettid); }
/**
* USR2 signal handler to enable/disable trace (toggle)
@@ -83,7 +83,7 @@ void trace_output(const char *file, unsigned line,
unsigned priority,
assert(priority <= LOG_DEBUG && category < CAT_MAX);
if (strncmp(file, "src/", 4) == 0) file += 4;
- snprintf(preamble, sizeof(preamble), "%d:%s:%u %s %s", gettid(),
file, line,
+ snprintf(preamble, sizeof(preamble), "%d:%s:%u %s %s", get_tid(),
file, line,
global::prefix_name[priority + category], format);
// legacy trace
if (is_logtrace_enabled(category)) {
@@ -110,7 +110,7 @@ void log_output(const char *file, unsigned line,
unsigned priority,
assert(priority <= LOG_DEBUG && category < CAT_MAX);
if (strncmp(file, "src/", 4) == 0) file += 4;
- snprintf(preamble, sizeof(preamble), "%d:%s:%u %s %s", gettid(),
file, line,
+ snprintf(preamble, sizeof(preamble), "%d:%s:%u %s %s", get_tid(),
file, line,
global::prefix_name[priority + category], format);
LogTraceClient::Log(gl_remote_osaflog,
static_cast<base::LogMessage::Severity>(priority), preamble, ap);
Thanks
Minh
On 4/8/20 6:00 pm, thuan.tran wrote:
- Fix amfd/sgproc.cc cause compile failed when configure enable gcov.
- Waiting svc_monitor_thread ready in create_svc_monitor_thread to avoid
lost svc_mon_thr_fd value which later cause opensafd fail to start.
---
src/amf/amfd/sgproc.cc | 3 +--
src/nid/nodeinit.cc | 19 +++++++++----------
2 files changed, 10 insertions(+), 12 deletions(-)
diff --git a/src/amf/amfd/sgproc.cc b/src/amf/amfd/sgproc.cc
index 78ccb31f9..405e2c45d 100644
--- a/src/amf/amfd/sgproc.cc
+++ b/src/amf/amfd/sgproc.cc
@@ -2624,9 +2624,8 @@ static uint32_t shutdown_contained_sus(AVD_CL_CB *cb,
AVD_SU *container_su,
}
done:
- return rc;
-
TRACE_LEAVE();
+ return rc;
}
/*****************************************************************************
diff --git a/src/nid/nodeinit.cc b/src/nid/nodeinit.cc
index d5b4eb20a..548c7fb46 100644
--- a/src/nid/nodeinit.cc
+++ b/src/nid/nodeinit.cc
@@ -1612,6 +1612,15 @@ uint32_t create_svc_monitor_thread(void) {
return NCSCC_RC_FAILURE;
}
+ // Waiting until svc_monitor_thread is up and in ready state.
+ unsigned no_repeat = 0;
+ while (svc_monitor_thread_ready == false && no_repeat < 100) {
+ osaf_nanosleep(&kHundredMilliseconds);
+ no_repeat++;
+ }
+ osafassert(svc_monitor_thread_ready);
+ LOG_NO("svc_monitor_thread is up and in ready state");
+
TRACE_LEAVE();
return NCSCC_RC_SUCCESS;
}
@@ -1662,16 +1671,6 @@ int main(int argc, char *argv[]) {
exit(EXIT_FAILURE);
}
- // Waiting until svc_monitor_thread is up and in ready state.
- unsigned no_repeat = 0;
- while (svc_monitor_thread_ready == false && no_repeat < 100) {
- osaf_nanosleep(&kHundredMilliseconds);
- no_repeat++;
- }
-
- osafassert(svc_monitor_thread_ready);
- LOG_NO("svc_monitor_thread is up and in ready state");
-
if (parse_nodeinit_conf(sbuf) != NCSCC_RC_SUCCESS) {
LOG_ER("Failed to parse file %s. Exiting", sbuf);
exit(EXIT_FAILURE);
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel